12.1.2 ANY

Проверяет, справедлив ли предикат хотя бы для одного элемента в коллекции.

Синтаксис:

ANY(identifier IN collection WHERE 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)

Аргументы:

Запрос

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)

Аргументы:

Запрос

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"}]

Предыдущая | Следующая