最短路径查询 returns 多条路径而不是一条路径
Shortestpath query returns many paths instead of one path
下方最短路径查询 return 多条路径而不是一条路径。
MATCH PATHS=shortestPath((a:Endpoint{ nodeName: 'BRS-PE-SR7-X03B' }) -[*]-(b:Endpoint{ nodeName: 'LDN-PE-SR7-X03C' }) RETURN PATHS
任何人都可以解释一下它是如何计算路径和return以下场景的最短路径的。
我的理解是应该return只有一个path.Am对吗?
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);
REST 提供的最短路径算法API 提供两个节点之间的所有最短路径。这意味着如果多个路径中的最小跳数相同,那么您将获得所有这些最短路径。
(https://neo4j.com/docs/rest-docs/current/#rest-api-find-all-shortest-paths).
下方最短路径查询 return 多条路径而不是一条路径。
MATCH PATHS=shortestPath((a:Endpoint{ nodeName: 'BRS-PE-SR7-X03B' }) -[*]-(b:Endpoint{ nodeName: 'LDN-PE-SR7-X03C' }) RETURN PATHS
任何人都可以解释一下它是如何计算路径和return以下场景的最短路径的。
我的理解是应该return只有一个path.Am对吗?
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);
REST 提供的最短路径算法API 提供两个节点之间的所有最短路径。这意味着如果多个路径中的最小跳数相同,那么您将获得所有这些最短路径。
(https://neo4j.com/docs/rest-docs/current/#rest-api-find-all-shortest-paths).