3

こんにちは、neo4j とツリー データを扱ってきましたが、これまでのところうまくいきました。ただし、パターン マッチングが一般的にどのように機能するかについてのドキュメントがあまり見つからないように見えるので、作成しているクエリが予測された結果になるかどうかを確認できます。

ノード 1、2、3、4 を持つツリーがあります。ここで、2 は 1 の子であり、3 + 4 は両方とも 2 の子です。1 から 2、2 から 3、および 2 から 4 に有向エッジがあります。次の Cypher クエリを実行すると、戻りノード x の最新の共通祖先が常に取得されますか?

開始 a = ノード (3)、b = ノード (4)

MATCH x-[ * ]->a, x-[ * ]->b

x を返します。

このクエリは x のノード 2 を返しますが、決して 1 を返さないことをどのように保証できますか?

4

1 に答える 1

3

次のようなことができます。

start a=node(3), b=node(4)
match pa=x-[*]->a, pb=x-[*]->b
return x
order by length(pa) + length(pb)
limit 1

http://console.neo4j.org/r/ntvwuz

于 2013-03-13T06:27:41.830 に答える