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