目录: [TOC]
Predicate functions
all都通过predicate则返回ture
any至少有一个通过断言predicate则返回ture
exists符合匹配的模式则返回ture
none没有元素通过断言predicate则为ture
single只有一个通过断言predicate则为ture
语法:all(variable IN list WHERE predicate)
语法:any(variable IN list WHERE predicate)
语法:none(variable IN list WHERE predicate)
语法:single(variable IN list WHERE predicate)
参数:list
:,返回list的表达式
参数:variable
,在断言中使用的变量
参数:predicate
,断言语法:
exists(pattern-or-property)
参数:pattern-or-property
,模式或者是属性
//所有节点都的age属性都大于30
MATCH p =(a)-[*1..3]->(b)
WHERE a.name = 'Alice' AND b.name = 'Daniel' AND ALL (x IN nodes(p) WHERE x.age > 30)
RETURN p
//至少有一个one的节点
MATCH (a)
WHERE a.name = 'Eskil' AND ANY (x IN a.array WHERE x = 'one')
RETURN a.name, a.array
//存在name属性的节点
MATCH (n)
WHERE EXISTS (n.name)
RETURN n.name AS name, EXISTS ((n)-[:MARRIED]->()) AS is_married
//路径中不能有age为25的节点
MATCH p =(n)-[*1..3]->(b)
WHERE n.name = 'Alice' AND NONE (x IN nodes(p) WHERE x.age = 25)
RETURN p
//路径中只有一个节点的eyes为blue
MATCH p =(n)-->(b)
WHERE n.name = 'Alice' AND SINGLE (var IN nodes(p) WHERE var.eyes = 'blue')
RETURN p
Scalar functions
length(),返回path的长度 size(),用于string、list和模式匹配
本文使用 文章同步助手 同步