次のような階層的な組織構造があります。
OrgNode(3)-[HAS_PARENT]->OrgNode(2)-[HAS_PARENT]->OrgNode(1)
ノード ID のいずれかを指定して最上位の組織を提供するサイファー クエリが必要です。
topOrg(3) = OrgNode(1)
topOrg(2) = OrgNode(1)
topOrg(1) = OrgNode(1)
開始ノードに少なくとも 1 つの親がある場合、最上位の組織を返すクエリを作成できます。しかし、同じクエリに親リンクがない場合に開始ノードを返す方法がわかりません:
start n=node(3)
match (n)-[:PARENT*]->(m)-[r?:PARENT]->()
WHERE r is null
return m