Cypher函数 (方法)
分类:
- 断言函数
- 标量函数
- 列表函数
- 数学函数
- 字符串函数
实验实例:
CREATE
(Alice { name: 'Alice' ,age:38,eyes:'brown'}),
(Charlie { name: 'Charlie' ,age:53,eyes:'green'}),
(Bob { name: 'Bob' ,age:25,eyes:'blue'}),
(Daniel { name: 'Daniel' ,age:54,eyes:'brown'}),
(Eskil { array:['one','two','three'],name: 'Eskil' ,age:41,eyes:'blue'})
CREATE
(Alice)-[:KNOWS]->(Charlie),
(Alice)-[:KNOWS]->(Bob),
(Charlie)-[:KNOWS]->(Daniel),
(Bob)-[:KNOWS]->(Daniel),
(Bob)-[:MARRIED]->(Eskil)
return Alice,Charlie,Bob,Daniel,Eskil
1、断言(Predicate)函数
断言函数是对给定的输入返回true或者false的布尔函数。它们主要用于查询的WHERE部分过滤子图。
1.1 all()
判断是否一个断言适用于列表中的所有元素。
语法: all(variable IN list WHERE predicate)
参数:
- list:返回列表的表达式
- variable:用于断言中的变量
- predicate:用于测试列表中所有元素的断言
MATCH p =(a)-[*1..3]->(b) WHERE ALL (x IN nodes(p) WHERE x.age > 30) RETURN p |
1.2 any()
判断是否一个断言至少适用于列表中的一个元素。
语法: any(variable IN list WHERE predicate)
参数:
- list:返回列表的表达式
- variable:用于断言中的变量
- predicate:用于测试列表中所有元素的断言
MATCH (a) RETURN ANY (x IN a.array WHERE x = 'one') RETURN a |
返回路径中的所有节点的array数组属性中至少有一个值为'one'。
1.3 none()
如果断言不适用于列表中的任何元素,则返回true。
语法: none(variable IN list WHERE predicate)
参数:
- list:返回列表的表达式
- variable:用于断言中的变量
- predicate:用于测试列表中所有元素的断言
MATCH p =(n)-[*1..3]->(b) WHERE |