我有一个包含许多路径的图表,我希望单独返回这些路径 给出以下图表:
B
/ \
A - C - D
\____________/
并且所有链接都是定向的,因此我们具有来自A-> C,A-> D,C-> D,C-> B,B-> D的边缘。 我想得到A-C-D,A-C-B-D和A-D作为单独的结果。有没有办法实现这个目标?
答案 0 :(得分:0)
当然,您可以使用variable-length pattern matching。
假设当前节点的类型为:MyNode,并且我们使用属性name
作为节点名称,并且有一个索引:MyNode(name)用于快速查找:< / p>
MATCH p = (:MyNode{name:'A'})-[*]->(end)
WHERE NOT exists((end)-->())
RETURN p
WHERE确保您只获取到没有传出关系的终端节点的路径。
如果您只想要返回路径的节点而不是完整路径,请改用RETURN nodes(p)
。