查找给定多个节点之间的最短路径

时间:2019-02-16 06:35:15

标签: neo4j

我正在尝试查找给定多个节点之间的最短路径。 就像我有一个位置数组节点,然后有一个用户位置。我想在这些给定节点之间找到与该用户最近的位置。

我已经尝试过该查询

UNWIND
["93049","67069","90762","86156","01067","18069","52146","04356"," 42329","53113","76131","40549","50670","50678","85774","80339"] AS plz
MATCH p=Shortestpath(
(a:plzNodes {plz: plz})-[*..14]-(b:plzNodes {plz: "88400"})
) RETURN  plz,collect(p);

1 个答案:

答案 0 :(得分:0)

您可以为此使用path expander procs中的APOC Procedures,收集可能的末端节点,然后使用从起始节点到末端节点的路径扩展器,限制为1:将返回遇到的第一个节点(由于宽度优先,这是最短的路径)。

false