繁体   English   中英

密码allShortestPaths仅返回一条路径吗?

[英]Cypher allShortestPaths just return one path?

背景说明:

  • 我有一个像下面的图: 在此处输入图片说明

  • 我想找到节点A和节点F之间的所有路径(就像我可以从A到达F的方式一样),然后找到如下所示的Cypher:

 MATCH (start:kg:test), (end:kg:test), p = allShortestPaths((start)-[*..8]-(end)) where start.value = 'A' and end.value = 'F' RETURN start, end, p 
  • 如我所料,此查询将返回整个图形,但仅返回A-> F(使用shortestPath函数返回相同的内容),例如下面所示: 在此处输入图片说明

问题

  • 为什么该查询不会返回图形中的所有不同路径?
  • 我会滥用allShortestPaths函数吗?
  • 如何获取从节点A到节点F的所有路径?

谢谢

shortestPath()返回节点之间的最短路径(如果有多个相同大小的路径,则仅返回找到的第一个路径)。

如果有可能已被退回多路径shortestPath()他们都将具有相同的大小),然后allShortesPaths()将返回他们。

如果只想查找两个节点之间的所有可能路径(路径的长度无关紧要,根本就不关心最短的路径),则不需要使用这两个函数。

MATCH p=(start:kg:test)-[*..8]-(end:kg:test)
    where start.value = 'A' and end.value = 'F'
    RETURN start, end, p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM