Cypher語法關鍵字(三)DELETE,REMOVE,ORDER BY,LIMIT,SKIP

DELETE

? DELETE語句用于刪除圖元素--節(jié)點,關系或路徑。

// 刪除單個節(jié)點
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

// 刪除一個節(jié)點及其所有的關系
MATCH (n { name: 'root' }) DETACH DELETE n

// 刪除所有節(jié)點和關系
MATCH (n) DETACH DELETE n

REMOVE

? REMOVE語句用于刪除圖元素的屬性和標簽。對于刪除節(jié)點和關系,參見DELETE小節(jié).

// 刪除一個屬性:Neo4j不允許屬性存儲空值null。如果屬性的值不存在,那么節(jié)點或者關系中的屬性將被刪除。這也可以通過REMOVE來刪除。
MATCH (p {name: 'Michael Douglas'}) REMOVE p.bornIn RETURN p

// 刪除標簽
MATCH (n:German { name: 'Peter' }) REMOVE n:German RETURN n

// 刪除節(jié)點的多個標簽 
MATCH (n { name: 'Peter' }) REMOVE n:German:Swedish RETURN n

ORDER BY

? ORDER BY是緊跟RETURN或者WITH的子句,它指定了輸出的結(jié)果應該如何排序。

// 根據(jù)屬性對節(jié)點進行排序
MATCH (n) RETURN n.name ORDER BY n.name

// 根據(jù)多個屬性對節(jié)點進行排序
MATCH (n) RETURN n.born, n.name ORDER BY n.born, n.name

// 節(jié)點降序排序:在排序的變量后面添加DESC,Cypher將以逆序(即降序)對輸出進行排序。
MATCH (n) RETURN n ORDER BY n.name DESC

// 空值的排序:當結(jié)果集中包含null值時,對于升序排列,null總是在結(jié)果集的末尾。而對于降序排序,null值總是排在最前面。
MATCH (n) RETURN n.title, n ORDER BY n.title

LIMIT

? LIMIT限制輸出的行數(shù)。

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

SKIP

? SKIP定義了從哪行開始返回結(jié)果。

// 跳過前三
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
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。