neo4j 语法

add
添加语句
Create (p: People { id: 1, name: ‘jack’} )

创建关系语句(不带关系属性)
Match (a: People), (b, People)
Where a.name = ‘jack’ and b.name = ‘tom’
Create (a)-[f: Friend]->(b)
Return type(f)

创建关系语句(带关系属性)
Match (a: People), (b, People)
Where a.name = ‘jack’ and b.name = ‘tom’
Create (a)-[f: Friend { description: a.name + ‘是’ + b.name + ‘的朋友’ }]->(b)
Return type(f)

Select
查询单表数据
Match (p: People) return p

查询多表数据
Match (p:People), (w: Worker) return p, w

查询多表关系数据
Match (p: People)-[f: Friend]->(w: Worker) return p, f, w

查询指定关系
Match (a)-[f: Friend]-(b)
Where f.name = ‘test’
return a, f, b

查询多关系
查询 People 到 Worker 之前所有关系的数据
Match (p: People)-[f]-(w: Worker) return p,f,w

查询多关系多节点
查询 People 下所有一级关系,以及关系指定的节点
Match (p: People)-[f]->(w) return p,f,w

查询多层关系多节点
查询 People 1~2 层的关系+节点
第一位最小层数,第二位最大层数
*1…2

Match data = (p: People)-[*1…2]-® return data

可变路径
路径长度为2,也就说是只能查询到当前对象下的两层关系+节点
(a)-[*2]->(b)

路径长度最大是3,也就是说0~3的关系+节点
(a)-[*…3]-(b)

路径长度最小是1,查询1~n的关系+节点
(a)-[*1…]-(b)

指定最大最小路径长度, 查询1~3的关系
(a)-[*1…3]-(b)

不指定路径长度,匹配所有
(a)-[*]-(b)

delete
删除指定数据语句
Match (p { name: ‘jack’})
Detach delete p

删除指定关系
Match (p {name: ‘jack’})-[f: Friend]->()
delete f

update
修改指定字段
Match (a: People {name: ‘test’})
set a.name = ‘new-test’
Return a

修改指定关系的字段
Match (a)-[f: Friend]-(b)
Where f.name = ‘test’
Set f.name = ‘new-test’
Return f

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值