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