1. 文章
  2. 文章详情

Neo4j-CQL - Cypher操作符

操作符是对Cypher查询结果进行算术运算,逻辑运算等。

通用操作符

distinct 用于移除重复值, n.property 用于访问属性,[]是变量的列表

CREATE (a:Person { name: 'Anne', eyeColor: 'blue' }),(b:Person { name: 'Bill', eyeColor: 'brown' }),(c:Person { name: 'Carol', eyeColor: 'blue' })
WITH [a, b, c] AS ps
UNWIND ps AS p
RETURN DISTINCT p.eyeColor

算术操作符

  • 加减乘除:+,-,*,/
  • 取模:%
  • 取幂:^

比较运算符

  • 等于:=
  • 不等于:<>
  • 小于、大于、小于等于、大于等于:<、>、<=、>=
  • IS NULL和 IS NOT NULL

逻辑运算符

与(AND),或(OR),异或(XOR),非(NOT)

WITH [2, 4, 7, 9, 12] AS numberlist
UNWIND numberlist AS number
WITH number
WHERE number = 4 OR (number > 6 AND number < 10)
RETURN number

字符串操作

字符串拼接:+

匹配正则:=~

WITH ['mouse', 'chair', 'door', 'house'] AS wordlist
UNWIND wordlist AS word
WITH word
WHERE word =~ '.*ous.*'
RETURN word

对于字符串,使用 STARTS WITH、ENDS WITH和CONTAINS 过滤字符串:

WITH ['John', 'Mark', 'Jonathan', 'Bill'] AS somenames
UNWIND somenames AS names
WITH names AS candidate
WHERE candidate STARTS WITH 'Jo'
RETURN candidate

列表操作

  • +,列表追加
  • IN:检查成员
  • []:索引,特殊地,[start .. end],从start开始,递增1,但是不包括end
RETURN [1,2,3,4,5]+[6,7] AS myList

WITH [2, 3, 4, 5] AS numberlist
UNWIND numberlist AS number
WITH number
WHERE number IN [2, 3, 8]
RETURN number

WITH ['Anne', 'John', 'Bill', 'Diane', 'Eve'] AS names
RETURN names[1..3] AS result

访问属性

使用 . 号访问属性

MATCH (n) WHERE 21 < n.age AND n.age <= 30 RETURN n

发表评论

登录后才能评论

评论列表(0条)