使用redisgraph查找两个节点之间的最短路径

mctunoxg  于 2021-06-07  发布在  Redis
关注(0)|答案(1)|浏览(518)

我有简单的节点和整数ID。我只想找到给定id的节点之间的最短路径。我尝试了:

GRAPH.QUERY mygraph "MATCH p=(startnode)-[*]-(endnode) WHERE ID(startnode)=2 AND ID(endnode)=1 RETURN p"

或者是algo.bfs,但没有给出例子

GRAPH.QUERY mygraph "CALL algo.BFS source-node YIELD redisnodes,redisedges"

但我没有成功。这个功能可用吗?

mqxuamgl

mqxuamgl1#

这是一种选择(有点贵)

MATCH p = (a{v:1})-[*]-(c {v:2}) WITH collect(p) AS paths, min(length(p)) AS min_len RETURN [p in paths WHERE length(p) = min_len | p][0]

另一个选择是 algo.BFS 但它需要额外的客户端处理。

相关问题