0

リレーションの終了ノードを取得するにはどうすればよいですか。例えば:

rels = graph_db.match(start_node=user, rel_type="is_post_owner")

では、開始ノード ユーザーのすべての終了ノードを取得するにはどうすればよいでしょうか。

よろしく、サミュエル

4

2 に答える 2

1

このような:

rels = graph_db.match(start_node=user, rel_type="is_post_owner")
end_nodes = [rel.end_node for rel in rels]

メソッドから返される各関係はmatch標準のRelationshipオブジェクトであり、そのまま使用できます。

于 2013-05-13T14:11:16.113 に答える
0

あなたはサイファーを使うことができます

START a=node(id) //replace with the id of the node you want to start 
MATCH p=a-[:is_post_owner*..]->x //get all the paths to all nodes with rel:is_post_owner
WHERE NOT(x-->()) //exclude nodes with Direction Out Relationships "end nodes"
RETURN x //get the end nodes

そうすれば、返されるノードはグラフのリーフ ノードになり、他の方向との関係はありません。

トーマスが述べたように、彼は完全に正しいので、where 句に関係タイプを含める必要があります。そうすることで、その関係の終了ノードのみを取得し、返されたノードは方向アウト (葉ノードではない) で他の関係を持つことができますが、それらは要求された関係の終了ノードです

 START a=node(id) 
 MATCH p=a-[r:is_post_owner*..]->x 
 WHERE NOT(x-->(r)) 
 RETURN x 
于 2013-05-13T09:52:43.387 に答える