У меня есть график, но вы должны быть уверены, что все узлы находятся в пути (но больше, чем эти узлы могут существовать в пути).Cypher Query Чтобы гарантировать, что все узлы находятся в пути, но могут существовать другие пути
Вот пример (извините, был черный некоторый материал):
Я хочу найти END2 и не END1, когда у меня есть значения одного и того же имущества во всех трех промежуточных узлов в списке Я проходил. Но я не могу получить запрос, который вернет end2 без end1. Там может быть больше узлов, которые имеют одни и те же маршруты, но я буду только каждый проход в разных значениях, которые не дублируются по средним узлам. Кто-нибудь знает запрос, который даст мне только конечный узел, который имеет все значения из промежуточных узлов? Существуют также узлы, которые висят от этих конечных узлов, а некоторые из них взаимосвязаны между end1 и end2. Некоторые другие не делают, и это те узлы, которых я не хочу, а потому, что есть путь между желтым и синим до конца1. Я не могу использовать ЛЮБОЙ, но поскольку там есть другие пути к тем же узлам (не изображены), я не могу используйте ВСЕ.
Заранее благодарим за помощь.
[Обновить] Вот текущий запрос, который я использую, но он допускает только один «конечный» узел для узла запуска, и я хочу несколько. Мне нужен этот id (eg) = {eg_id}, но он ограничивает его. Я бы предпочел использовать тот факт, что каждый а на пути ниже должен соответствовать списку свойств имени в среднем узле, должен быть там, чтобы добраться до того конечного узла. Так что если желтые и синие будут htere, тогда end1 и end2 вернутся, но если желтые, синие и фиолетовые будут там, то только end2 вернется.
start td = node({td_id})
match (td:Start)-[:Rel1]->(a)<-[:Rel2]-(eg:End)-[es:Rel3]->(n:WhatsPastEnd)
with collect(a.name) as pnl, n, td, eg, es
where id(eg) = {eg_id}
and all(param_needs in {param_name_list} where param_needs in pnl)
return n
order by es.order
[РЕШИТЬ]
Большое спасибо InverseFalcon, получил то, что мне нужно, используя решение!
Можете ли вы отредактировать описание, чтобы предоставить запросы, которые вы пытались до сих пор? – InverseFalcon
Кроме того, если вы можете предоставить метки узлов, а также дополнительную информацию о путях от начала до конца узлов, включая типы отношений, разрешенные для обхода между начальным и конечным узлами, и любую информацию о границах длины пути? – InverseFalcon
обновлено описание, если кто-то может посмотреть –