我有一个这样的分层组织结构:
OrgNode(3)-[HAS_PARENT]->OrgNode(2)-[HAS_PARENT]->OrgNode(1)
我想要一个密码查询,它可以在给定任何节点 ID 的情况下为我提供顶级组织:
topOrg(3) = OrgNode(1)
topOrg(2) = OrgNode(1)
topOrg(1) = OrgNode(1)
当起始节点至少有一个父节点时,我可以编写查询以返回顶级组织。但是当同一查询中没有父链接时,我无法弄清楚如何返回起始节点:
start n=node(3)
match (n)-[:PARENT*]->(m)-[r?:PARENT]->()
WHERE r is null
return m