如何获得关系的结束节点。 例如:
rels = graph_db.match(start_node=user, rel_type="is_post_owner")
那么如何才能获得起始节点用户的所有终端节点。
问候,塞缪尔
答案 0 :(得分:1)
像这样:
rels = graph_db.match(start_node=user, rel_type="is_post_owner")
end_nodes = [rel.end_node for rel in rels]
从match
方法返回的每个关系都是标准Relationship对象,可以这样使用。
答案 1 :(得分: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