AllShortestPaths 缺少关系
AllShortestPaths missing relationships
我一直在使用所有最短路径从根节点检索一定数量的关系内的所有关系。例如,以下查询是 运行 针对标准 Matrix 主题 graph。
查询 1:
MATCH p = allshortestPaths((n:Crew)-[r*0..3]-(m))
WHERE n.name = 'Neo' UNWIND relationships(p) AS rels
RETURN COLLECT(DISTINCT rels)
查询 2:
MATCH (n:Crew)-[r*0..3]-(m)
WHERE n.name = 'Neo' UNWIND r AS rels
RETURN COLLECT(DISTINCT rels)
第二个示例按预期工作,但 allShortestPaths 示例遗漏了 Morpheus 和 Trinity 之间的关系。
知道为什么吗?
allShortestPaths()
示例省略了Morpheus
和Trinity
之间的关系,因为Neo
和Trinity
之间的最短路径不包括省略的关系。
allShortestPaths()
示例返回 Neo
和每个 distinct 节点之间最多 3 步的最短路径。由于 Neo
和 Trinity
之间已经存在直接的 1 步路径,因此忽略这两个节点之间的任何更长路径。
我一直在使用所有最短路径从根节点检索一定数量的关系内的所有关系。例如,以下查询是 运行 针对标准 Matrix 主题 graph。
查询 1:
MATCH p = allshortestPaths((n:Crew)-[r*0..3]-(m))
WHERE n.name = 'Neo' UNWIND relationships(p) AS rels
RETURN COLLECT(DISTINCT rels)
查询 2:
MATCH (n:Crew)-[r*0..3]-(m)
WHERE n.name = 'Neo' UNWIND r AS rels
RETURN COLLECT(DISTINCT rels)
第二个示例按预期工作,但 allShortestPaths 示例遗漏了 Morpheus 和 Trinity 之间的关系。
知道为什么吗?
allShortestPaths()
示例省略了Morpheus
和Trinity
之间的关系,因为Neo
和Trinity
之间的最短路径不包括省略的关系。
allShortestPaths()
示例返回 Neo
和每个 distinct 节点之间最多 3 步的最短路径。由于 Neo
和 Trinity
之间已经存在直接的 1 步路径,因此忽略这两个节点之间的任何更长路径。