Допустим, у меня есть запрос на совпадение, который возвращает список узлов (oms), и затем я сопоставляю узлы (rs), которые связаны с (oms), но я хочу, чтобы они были только в том случае, если один узел (rs) имеетотношение ко ВСЕМ или БОЛЕЕ из списка, который я возвратил ранее (oms).Вот как выглядит мой запрос:
MATCH (st:Route) WHERE id(st) = 0
MATCH (st)--(rs:RS)--(oms:OMS)
WITH st,rs, collect(oms) AS omsList
MATCH (ed:Route)--(rs2:RS)
WHERE ALL(x in omsList WHERE (rs2)--(x))
UNWIND omsList AS oms
RETURN *
И вот что дает мой запрос:
![Query results](https://i.stack.imgur.com/HWER0.png)
Но, как объяснено извыше, я не хочу узлы 20 и 21, потому что они не имеют отношения ко ВСЕМ узлам, возвращенным из списка.
Примечание. Я начинаю с узла 0, который заканчивается узлами (oms) 4 и 2Поэтому я хочу их только в том случае, если они имеют отношение к ОБА 4 И 2.
Как бы я запросил это так, как я хочу?