例如:查询7个节点中途径这7个节点,会形成1条或多条的最短路径连线,都展示出来
初始化数据
CREATE (a:Place {id: 'A'}),
(b:Place {id: 'B'}),
(c:Place {id: 'C'}),
(d:Place {id: 'D'}),
(e:Place {id: 'E'}),
(f:Place {id: 'F'}),
(g:Place {id: 'G'}),
(d)-[:LINK {cost:4}]->(b),
(d)-[:LINK {cost:6}]->(e),
(b)-[:LINK {cost:1}]->(a),
(b)-[:LINK {cost:3}]->(c),
(a)-[:LINK {cost:2}]->(c),
(c)-[:LINK {cost:5}]->(e),
(f)-[:LINK {cost:1}]->(g);
查询最短路径
给定ADFG寻找最短路径
MATCH path = shortestpath((n:Place)-[*..]-(n2:Place))
where n.id in ["A","D","F","G"] and n2.id in ["A","D","F","G"] and n.id<>n2.id
return path
分别找出了 A-B-D的最短路径 和F-G的最短路径