neo4j--Cypher語法練習(REMOVE、ORDER BY、LIMIT、SKIP)

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章