NEO4J / Cypher: создать узел, если коллекция имеет только ложный результат - PullRequest
0 голосов
/ 20 июня 2019

У меня есть COLLECT со значением true или false, основанным на запросе проверки, и я хочу создать один узел, если каждый результат в коллекции равен false.Как отфильтровать коллекцию для этого конкретного результата?

WITH COLLECT(DISTINCT(...))

[true] = Ничего не происходит

[false, true] = Ничего не происходит

[false] =Создать новый узел

1 Ответ

2 голосов
/ 20 июня 2019

Вы можете использовать предикат списка all() или none(), который позволит вам протестировать каждый элемент списка и вернуть соответствующее логическое значение.

WITH COLLECT(DISTINCT(...)) as testList
WHERE all(val in testList WHERE val = false)
CREATE ...

Имейте в виду, что это вернетtrue для пустого списка, поэтому вы можете добавить дополнительный предикат: AND size(testList) > 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...