У меня есть иерархическая структура орга так:Neo4j высчитывать возвращение верхнего узла или запуск узел
OrgNode(3)-[HAS_PARENT]->OrgNode(2)-[HAS_PARENT]->OrgNode(1)
Я хочу Cypher запроса, который дает мне верхний орг дал какой-либо из узлов идентификаторов:
topOrg(3) = OrgNode(1)
topOrg(2) = OrgNode(1)
topOrg(1) = OrgNode(1)
Я могу написать запрос, чтобы вернуть верхний org, когда начальный узел имеет хотя бы один родитель. Но я не могу понять, как вернуть начальный узел, когда нет родительского ссылка в том же запросе:
start n=node(3)
match (n)-[:PARENT*]->(m)-[r?:PARENT]->()
WHERE r is null
return m