Cypher语法关键字(三)DELETE,REMOVE,ORDE

2020-07-20  本文已影响0人  数据的艺术2

DELETE

​ DELETE语句用于删除图元素--节点,关系或路径。

// 删除单个节点
MATCH (n:Useless) DELETE n

// 删除关系
MATCH (root { name: 'root' })-[r]-(A { name: 'A' }) DELETE r

// 删除路径
match p=(d { name: 'Node D' })--(e { name: 'Node e' }) delete p

// 删除一个节点及其所有的关系
MATCH (n { name: 'root' }) DETACH DELETE n

// 删除所有节点和关系
MATCH (n) DETACH DELETE n

REMOVE

​ REMOVE语句用于删除图元素的属性和标签。对于删除节点和关系,参见DELETE小节.

// 删除一个属性:Neo4j不允许属性存储空值null。如果属性的值不存在,那么节点或者关系中的属性将被删除。这也可以通过REMOVE来删除。
MATCH (p {name: 'Michael Douglas'}) REMOVE p.bornIn RETURN p

// 删除标签
MATCH (n:German { name: 'Peter' }) REMOVE n:German RETURN n

// 删除节点的多个标签 
MATCH (n { name: 'Peter' }) REMOVE n:German:Swedish RETURN n

ORDER BY

​ ORDER BY是紧跟RETURN或者WITH的子句,它指定了输出的结果应该如何排序。

// 根据属性对节点进行排序
MATCH (n) RETURN n.name ORDER BY n.name

// 根据多个属性对节点进行排序
MATCH (n) RETURN n.born, n.name ORDER BY n.born, n.name

// 节点降序排序:在排序的变量后面添加DESC,Cypher将以逆序(即降序)对输出进行排序。
MATCH (n) RETURN n ORDER BY n.name DESC

// 空值的排序:当结果集中包含null值时,对于升序排列,null总是在结果集的末尾。而对于降序排序,null值总是排在最前面。
MATCH (n) RETURN n.title, n ORDER BY n.title

LIMIT

​ LIMIT限制输出的行数。

// 返回开始部分
MATCH (n) RETURN n ORDER BY n.name LIMIT 3

SKIP

​ SKIP定义了从哪行开始返回结果。

// 跳过前三
MATCH (n) RETURN n ORDER BY n.name SKIP 3

// 返回中间两个
MATCH (n) RETURN n ORDER BY n.name SKIP 1 LIMIT 2

// 跳过表达式的值加1
MATCH (n) RETURN n ORDER BY n.name SKIP toInt(3*rand())+ 1
上一篇下一篇

猜你喜欢

热点阅读