You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Memgraph中计算两节点的无权重最短路径?

在Memgraph中计算无权重最短路径的方法

Memgraph提供了专门的无权重最短路径实现,也可以通过调整带权路径算法来模拟,具体方案如下:

1. 直接使用无权重最短路径修饰符[*SHORTEST]

这是最简洁的方式,专门针对无权重场景设计,适配Memgraph的路径修饰符规则:

MATCH (start:User {id: 1}), (end:User {id: 10}),
      path = (start)-[*SHORTEST]->(end)
RETURN path;

如果需要返回所有长度相同的最短路径(而非仅一条),可使用[*SHORTEST ALL]:

MATCH (start:User {id: 1}), (end:User {id: 10}),
      path = (start)-[*SHORTEST ALL]->(end)
RETURN path;

2. 用WSHORTEST模拟无权重路径

无权重最短路径等价于所有边权重为1的带权最短路径,因此可以给WSHORTEST的权重函数固定返回1来实现需求:

MATCH (start:User {id: 1}), (end:User {id: 10}),
      path = (start)-[*WSHORTEST (r, n | 1)]->(end)
RETURN path;

这种方式不如[*SHORTEST]直观,仅作为替代方案。

内容的提问来源于stack exchange,提问作者iuhztr tzhjzuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:52:07