12.1.2 ANY
Проверяет, справедлив ли предикат хотя бы для одного элемента в коллекции.
Синтаксис:
ANY(identifier IN collection WHERE predicate)
Аргументы:
- collection: Выражение, которое возвращает коллекцию.
- identifier: Это идентификатор, который может быть использован из предиката.
- predicate: Предикат, который проверяется на всех элементах в коллекции.
Запрос
MATCH (a) WHERE a.name='Eskil' AND ANY (x IN a.array WHERE x = "one") RETURN a
Все узлы в возвращаемых путях имеют, по крайней мере, одно значение «one», установленное в массиве с именем свойства array.
Таблица 12.2 Результат
a |
---|
Node[1]{name:"Eskil",age:41,eyes:"blue",array:["one","two","three"]} |
12.1.3 NONE
Возвращает true, если предикат не выполняется ни для одного элемента коллекции.
Синтаксис:
NONE(identifier IN collection WHERE predicate)
Аргументы:
- collection: Выражение, которое возвращает коллекцию.
- identifier: Это идентификатор, который может быть использован из предиката.
- predicate: Предикат, который проверяется на всех элементах в коллекции.
Запрос
MATCH p=(n)-[*1..3]->(b) WHERE n.name='Alice' AND NONE (x IN nodes(p) WHERE x.age = 25) RETURN p
В возвращаемых путях нет узлов, которые бы имели свойство age, установленное в значение 25.
Таблица 12.3 Результат
p |
---|
[Node[2]{name:"Alice",age:38,eyes:"brown"},:KNOWS[1]{}, Node[4]{name:"Charlie",age:53,eyes:"green"}] |
[Node[2]{name:"Alice",age:38,eyes:"brown"},:KNOWS[1]{}, Node[4]{name:"Charlie",age:53,eyes:"green"},:KNOWS[3]{}, Node[0]{name:"Daniel",age:54,eyes:"brown"}] |
12.1.4 SINGLE
Возвращает true, если предикат справедлив для строго одного элемента в коллекции.
Синтаксис:
SINGLE(identifier IN collection WHERE predicate)
Аргументы:
- collection: Выражение, которое возвращает коллекцию.
- identifier: Это идентификатор, который может быть использован из предиката.
- predicate: Предикат, который проверяется на всех элементах в коллекции.
Запрос
MATCH p=(n)-->(b) WHERE n.name='Alice' AND SINGLE (var IN nodes(p) WHERE var.eyes = "blue") RETURN p
Строго один узел в каждом возвращаемом пути будет иметь свойство eyes, установленное в значение "blue".
Таблица 12.4 Результат
p |
---|
[Node[2]{name:"Alice",age:38,eyes:"brown"},:KNOWS[0]{}, Node[3]{name:"Bob",age:25,eyes:"blue"}] |