neo4j怎么使用呢,不妨看看这篇文章

1.neo4j的介绍

https://cloud.tencent.com/developer/article/2110326

2.neo4j的安装 (为了方便推荐使用docker-compose)

version: '1.0'
services:
  neo4j:
    image: neo4j:5.20.0-community
    container_name: neo4j-v1
    volumes:
      - ./conf:/var/lib/neo4j/conf
      - ./import:/var/lib/neo4j/import
      - ./plugins:/plugins
      - ./data:/data
      - ./logs:/var/lib/neo4j/logs
    restart: always
    ports:
      - 7474:7474
      - 7687:7687
    environment:
      - NEO4J_AUTH=neo4j/0123456789    
docker run -d -p 7474:7474 -p 7687:7687 --name neo4j \
-e "NEO4J_AUTH=neo4j/123456" \
-v /usr/local/neo4j/data:/data \
-v /usr/local/neo4j/logs:/logs \
-v /usr/local/neo4j/conf:/var/lib/neo4j/conf \
-v /usr/local/neo4j/import:/var/lib/neo4j/import \
-v /usr/local/neo4j/plugins:/plugins \
neo4j:5.20.0-community

#Couldn’t load the external resource at: file:/xxx.csv ()
#docker版Neo4j的配置文件中没有配置dbms.directories.import参数,所以需要使用全路径导入

e.g:
load csv from "file:///var/lib/neo4j/import/triples.csv" as line create (:triples {from:line[1],relation:line[3],to:line[0]})

3.neo4j的语法使用 类比 mysql

3.1 创建节点

CREATE (<node1-name>:<label1-name>)-
	[<relationship-name>:<relationship-label-name>]
	->(<node2-name>:<label2-name>)

create (book:Book {id:1,pages:100,price:25,title:"活着"})
create (book:Book {id:2,pages:340,price:250,title:"Neo4j Tutorial"}) 

3.2 数据查询

#查看全部属性
match (book:Book) return book
#查询指定属性
match (book:Book) return book.id,book.pages,book.price,book.title
#价格范围查询
match (book:Book) where book.id price>20 and price<100 return book
#排序处理
match (book:Book) return book order by book.price desc
#排序+分页
match (book:Book) return book order by book.price desc skip 1 limit 10
#null查询
match (book:Book) where book.title is not null return book order by book.price desc
#统计数数量-# AGGREGATION聚合(count,max,min,avg)
match (book:Book) return count(*)
#常用函数toupper,tolower,substring,replace-字符串函数

3.3 关系函数

Snipaste_2024-05-25_19-44-54.png

MATCH (a)-[movie:ACTION_MOVIES]->(b) 
RETURN STARTNODE(movie)

4.4 delete用户删除节点

#删除所有数据
match (book:Book) delete book
#根据条件进行删除
match (book:Book) where book.id=122 delete book

4.5 remove 删除节点的某个属性

#删除所有数据的某个属性
match (book:Book) remove book.price return book
#根据条件删除某条记录的某个属性
match (book:Book) where book.id=1 remove book.price return book

4.6 set 添加数据属性

#给某条数据添加属性
MATCH (book:Book)
where book.id=1
SET book.price = 30
RETURN book
#给所有数据添加属性
MATCH (book:Book)
SET book.price = 30
RETURN book
#给某些数据添加某属性
MATCH (book:Book)
SET book.price = 30
RETURN book

4.7 UNION合并合并数据

function:它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行

limitations:结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同

syntax:

<MATCH Command1>
   UNION
<MATCH Command2>

e.g:
MATCH (cc:CreditCard)
RETURN cc.id as id,cc.number as number,cc.name as name,
   cc.valid_from as valid_from,cc.valid_to as valid_to
UNION
MATCH (dc:DebitCard)
RETURN dc.id as id,dc.number as number,dc.name as name,
   dc.valid_from as valid_from,dc.valid_to as valid_to

5.png

4.8 索引

[Create, show, and delete indexes - Cypher Manual (neo4j.com)](https://neo4j.com/docs/cypher-manual/current/indexes/search-performance-indexes/managing-indexes/)
e.g:
CREATE INDEX node_range_index_name FOR (n:Person) ON (n.surname)

4.9 last but not least

在Neo4j中,“Id”是节点和关系的默认内部属性。 这意味着,当我们创建一个新的节点或关系时,Neo4j数据库服务器将为内部使用分配一个数字。 它会自动递增。

4.10 更多

参考资料:
文档资料
[neo4j 教程_w3cschool](https://www.w3cschool.cn/neo4j/)
视频资料
https://www.bilibili.com/video/BV1sG411s7zV/
服务器购买
[精选特惠 用云无忧_腾讯云优惠活动 (tencent.com)](https://cloud.tencent.com/act/pro/bestselling)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值