2017-06-12 5 views
1

データベースにはツリーを形成するノードがあります。各ノードは述語が「先行する」別のものをたどる。開始ノードが与えられたときにツリー全体を読み取ることができるクエリを作成したいと思います。Cayley Graph Databaseでリンクノードを再帰的に読み取る方法は?

私はモーフィズムを試みましたが、出力はまったく意味がありません。おそらく、「射」は実際に何を意味するかについて理解の私の不足のため...

任意のヒント、または実際の良い例へのリンクは、あなたがこのような何かをしなければならないのNeo4jで

答えて

1

をいただければ幸いです。

MATCH p = (:Root)-[:precedes*]-() 
RETURN p 

リレーションシップタイプの後に指定された*は、グラフ全体で完全な検索を行います。メモリの問題を引き起こす可能性があります。

+0

ありがとうございます。グレムリン/ギズモでどのように見えるか考えてみましょうか?これらの概念のキーワードですか? –

1

@Brunoが彼の答えで指摘したように、Gremlinの*に相当するのはFollowRecursive()です。ここ

var c1 = g.M().Both("precedes") 
g.V("chain-1").FollowRecursive(c1).All() 

一つの重要なことは、射クエリで.Both一部です。それは述語の方向がInとOutの両方であることを符号化する。どのようにNeo4jのクエリパターンにマップされているのか分かりません

関連する問題