1.11 REMOVE
REMOVE語句用於刪除圖元素的屬性和標籤。對於刪除節點和關係,參見DELETE小節
1.11.1 刪除一個屬性
Neo4j不允許屬性存儲空值null。如果屬性的值不存在,那麼節點或者關係中的屬性將被刪除。這也可以通過REMOVE來刪除。
MATCH (p { name: 'Michael Douglas' }) REMOVE p. bornIn RETURN p |
1.11.2 刪除節點的一個標籤
MATCH (n { name: 'Peter' }) REMOVE n:German RETURN n |
1.11.3 刪除節點的多個標籤
MATCH (n { name: 'Peter' }) REMOVE n:German:Swedish RETURN n |
1.12 ORDER BY
ORDER BY是緊跟RETURN或者WITH的子句,它指定了輸出的結果應該如何排序。
1.12.1 根據屬性對節點進行排序
ORDER BY用於對輸出進行排序。
MATCH (n) RETURN n.name ORDER BY n.name |
返回了根據節點name屬性進行排序的節點序列。
1.12.2 根據多個屬性對節點進行排序
ORDER BY語句中支持根據多個屬性對節點進行排序。Cypher將先根據第一個變量進行排序,對於相等的值,然後再檢查 ORDER BY中的下一個屬性值,依次類推。
MATCH (n) RETURN n.born, n.name ORDER BY n.born, n.name |
1.12.3 節點降序排列
在排序的變量後面添加DESC[ENDING],Cypher將以逆序(即降序)對輸出進行排序。
MATCH (n) RETURN n ORDER BY n.name DESC |
1.12.4 空值的排序
當結果集中包含null值時,對於升序排列,null總是在結果集的末尾。而對於降序排序,null值總是排在最前面。
MATCH (n) RETURN n.title, n ORDER BY n.title |
本例中返回了以length屬性排序的節點,沒有length屬性的節點排在最後。
1.13 LIMIT
LIMIT限制輸出的行數。
1.13.1 返回開始部分
從最開始返回結果的一個子集,語法如下:
MATCH (n) RETURN n ORDER BY n.name LIMIT 3 |
1.14 SKIP
SKIP定義了從哪行開始返回結果。
1.14.1 跳過前三
從第四個開始返回結果的一個子集。如下:
MATCH (n) RETURN n ORDER BY n.name SKIP 3 |
1.14.2 返回中間兩個
從中間某個位置開始返回結果的字節。可以實現分頁
MATCH (n) RETURN n ORDER BY n.name SKIP 1 LIMIT 2 |
返回了中間的兩個節點。
1.14.3 跳過表達式的值加1
Skip接受任意結果爲正整數的值,只要它不引用其他外部變量。
MATCH (n) RETURN n ORDER BY n.name SKIP toInt(3*rand())+ 1 |