Как получить соседние узлы пути в neo4j

У меня есть путь, и я хочу получить узлы, которые связаны с этим путем некоторыми ребрами. Я написал этот qwery, и он не работает должным образом:

match p=(a)-[:example*]->(c) where length(p) = 5 
with p
match (u)-[r:example2]-> p return u,p,r

Я хочу получить все узлы ‘u’.
вы можете сказать мне, пожалуйста, что я делаю неправильно?

Спасибо.

1 ответ

  1. Извлеките узлы пути с помощью nodes()функции, UNWINDсписка и затем выполните сопоставление. Вы можете захотеть получить collectрезультаты для каждого узла a.

    match p=(a)-[:example*]->(c)
    where length(p) = 5
    with a, nodes(p) as pathNodes
    unwind pathNodes as pathNode
    match (u)-[r:example2]->(pathNode)
    return a, collect([u, pathNode])