私はneo4jに木のような構造を持ち、先祖へのパスを持つ最初のノードを特定したいそのパス内に同じタイプのノードを持たない。Neo4jは、祖先へのパスに他の同様にラベル付けされたノードを持たないノードを取得します。
例えば:この場合
/(:Y) <- (a:X)
A <- (:Y) <- (c:X) <- (:Y) <- (d:X) <- (e:X)
\ (b:X)<- (f:X)
\ (g:X)
'先祖であり、それらはラベル「X」を有し、分離されていないので、私は、ノードに、B、C、Gが欲しいですラベルを持つ別のノードによって祖先「X」
Iは、クエリを開始:
match (c :X)-[:X*1]->(A) return c
しかし間の他の標識されたノードがあるので、それだけ、[B、G]としない[C、G]を返します祖先とnとラベル付けされた 'X' odes