2017-09-05 11 views
0

私は多くのパスを含むグラフを持っていると私は、次のグラフを考えるとseperatly をこれらのパスを返すようにしたい:のNeo4jパスが

  B 
     / \ 
A - C - D 
    \____________/ 

とすべてのリンクが向けられているので、我々はエッジを持っていますA→C→A→D→C→D→C→B→B→Dの順である。 私はA-C-D、A-C-B-DおよびA-Dを別々の結果として得たいと考えています。これを達成する方法はありますか?

答えて

0

確かに、variable-length pattern matchingを使用できます。

のノードがタイプであることを現時点で想定すると:MYNODE、そして我々は、ノード名のプロパティnameを使用して、インデックスが上があることをしていること:高速検索のためにMYNODE(名):

MATCH p = (:MyNode{name:'A'})-[*]->(end) 
WHERE NOT exists((end)-->()) 
RETURN p 

WHEREを使用すると、発信関係のないエンドノードにのみパスを取得できます。

フルパスの代わりにパスのノードのみを戻す場合は、代わりにRETURN nodes(p)を使用してください。

関連する問題