比较某个节点和一组节点的最短路径
发布于 4 年前 作者 dalianmao 1094 次浏览 来自 问答

查询某个节点和一组节点的最短路径,并显示其中最短的路径与对应的节点。 例如:节点A和一组节点(1,2,3),分别计算A与节点1,A与节点2,A与节点3的最短路径。如果A与节点2的最短路径最短,显示对应的最短路径。谢谢!

3 回复

试试这个

MATCH (n),(m) WHERE id(n)=14856  AND id(m) IN [16821,0]
MATCH p = shortestPath((n)-[*..6]-(m)) WITH p
WITH LENGTH(p) AS length,p
RETURN length,p ORDER BY length DESC LIMIT 1

谢谢您的指导!FOREACH为何不能在这个场景中使用呢?还有一个场景:分别有2组节点A,B,找出A组中的节点对应连接紧密度最大的B组中的节点,或者是最短路径最短的对应节点。这该如何实现呢?谢谢!

MATCH (n),(m:label) WHERE id(n)=14856
MATCH p = shortestPath((n)-[*…6]-(m)) WITH p WITH LENGTH§ AS length,p RETURN length,p ORDER BY length DESC LIMIT 1 这样是否能达到我期望的目的?还是只能显示n与随机的任一m的最短距离。谢谢!

回到顶部