当前位置: 代码迷 >> 综合 >> neo4j--Cypher语法练习(REMOVE、ORDER BY、LIMIT、SKIP)
  详细解决方案

neo4j--Cypher语法练习(REMOVE、ORDER BY、LIMIT、SKIP)

热度:21   发布时间:2023-11-17 22:14:29.0

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

 

 

  相关解决方案