下面的Shortestpath查询返回许多路径而不是一条路径。
MATCH PATHS=shortestPath((a:Endpoint{ nodeName: 'BRS-PE-SR7-X03B' }) -[*]-(b:Endpoint{ nodeName: 'LDN-PE-SR7-X03C' }) RETURN PATHS
任何人都可以解释它如何计算路径并返回以下场景的最短路径。
我的理解是它应该只返回一条路。我是对的吗?
答案 0 :(得分:1)
SHORTESTPATH
函数查找两个特定节点之间的单个最短路径。
如果多个Endpoint
个节点可以具有相同的nodeName
值,这可以解释为什么要获得多个最短路径。
如果这是您的结果的原因,此查询返回的2个计数中至少有一个应超过1:
MATCH
(a:Endpoint{ nodeName: 'BRS-PE-SR7-X03B' }),
(b:Endpoint{ nodeName: 'LDN-PE-SR7-X03C' })
RETURN COUNT(DISTINCT a), COUNT(DISTINCT b);
答案 1 :(得分:1)
REST API提供的最短路径算法在两个节点之间提供了所有最短路径。这意味着如果在多个路径中最小跳数相同,那么您将获得所有这些最短路径。
(https://neo4j.com/docs/rest-docs/current/#rest-api-find-all-shortest-paths)。