节点:
每一完整的数据均是一个节点(行), 每个节点都有一个节点标签名称(表),每个节点都可带有多个键值对的属性(具体字段:值)
create:
create (n:label{key:value,})
merge (n:label{key:value,}) return n //先查询,若不存在则创建
update:
match (x:label) where x.key1=value set x.key2=value return x
select:
//没找到Match不返回任何结果,而Optional Match返回NULL
[match | Optional Match] (x:label) [where x.key1=value1 and x.key2=value2] return x
delete:
若节点间存在关系,关系为删除的时候不能删除单个节点
match (x:label) detach delete x //删除整个节点
match (x:label{key:value}) remove x.key2 return x //删除节点下的key2属性
match (a:label_1)-[r:relation]-(b:label_2) where a.key=value delete r //删除a与b之间的联系
match(a:label) where a.key=value delete a //删除节点
在现有的节点间创建无属性的关系:
match (n1:label1),(n2:label2) create (n1)-[r:name]->(n2) return r
在现有的节点间创建有属性的关系:
match (n1:label1),(n2:label2) create (n1)-[r:name{key:value,keyn:valuen}]->(n2) return r
在新节点间创建无属性的关系:
create (n1:label1)-[r:name]->(n2:label2) return r
在新节点间创建有属性的关系:
create (n1:label1{key:value})-[r:name{key:value,keyn:valuen}]->(n2:label2{key:value}) return r
排序:
ORDER BY n.label DESC
with:
作用:将上一个查询的结果用作下一个查询的开始。
用法:
1、通过使用oder by 和limit,with可以限制传入下一个match子查询语句的实体数目。
2、对聚合值过滤。
collect:
将元素进行组合成 ['a', 'b'] 的形式
distinct:
去重。