Глава 12. Функции
Эта глава содержит информацию обо всех функциях в Cypher. Заметим, что сопутствующая информация имеется в разделе 8.1 “Операторы”.
Замечание
Большинство функций в Cypher будут возвращать NULL, если входной параметр есть NULL.
12.1 Предикаты
- 12.1.1 ALL
- 12.1.2 ANY
- 12.1.3 NONE
- 12.1.4 SINGLE
Предикаты представляют собой булевы функции, которые возвращают true или false для заданного набора входных параметров. Обычно они используются для фильтрации подграфов в части запроса WHERE.
Смотрите также Раздел 8.1.2 “Операторы сравнения”.
Рис. 12.1 Graph
12.1.1 ALL
Проверяет, справедлив ли предикат для всех элементов коллекции collection.
Синтаксис:
ALL(identifier IN collection WHERE predicate)
Аргументы:
- collection: Выражение, которое возвращает коллекцию.
- identifier: Это идентификатор, который может быть использован из предиката.
- predicate: Предикат, который проверяется на всех элементах в коллекции.
Запрос
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
Все узлы по возвращаемым путям будут иметь свойство age (возраст) за 30.
Таблица 12.1 Результат
p |
---|
[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"}] |