Мне нужно объединить два разных графика. Я хотел бы применить дополнительные критерии на основе узлов в пути переменной в условии соединения. Приведенный ниже запрос работает нормально.
query1 =
match(a:iknode)-[*1..2]->(c:iknode)
match(d:flights17)-[r1]-(e:flights17)
where d.alias contains a.name return a,c
Однако он возвращает посторонние записи. Мне нужно применить некоторые фильтры к узлам, появляющимся в части [* 1..2]. Это тоже работает.
match p = (a:fbnode)-[*1..2]->(c:fbnode)
where a.name = 'flights' and ANY (x IN nodes(p) WHERE x.name in ['leaving'])
return nodes(p)
Я попробовал следующее , которое не работает :
match p = (a:iknode)-[*1..2]->(c:iknode)
(d:flights17)-[r1]-(e:flights17)
where d.alias contains a.name and ANY (x IN nodes(p) WHERE x.name in type(r1))
set e.f =c.name
Как мне переписать указанный выше запрос?
Один из вариантов - получить результаты первого запроса, а затем отфильтровать результаты в отдельном запросе (или Python). Тем не менее, я хотел бы сделать это в самом запросе. ВСЕ можно использовать вместо ЛЮБОГО. Я также хотел бы исключить начальный и конечный узлы при фильтрации.