我正在使用 Neo4J 存储网络拓扑并执行一些图形算法,例如 Dijkstra 和 allSimplePaths(使用 apoc 过程)。
我需要知道是否可以使用 allSimplePaths 的输出作为 Dijkstra 算法的输入。换句话说,对 allSimplePaths 过程返回的子图运行 Dijkstra 算法。
我的查询是:
1)
MATCH (startNode:Hosts {IP:"10.0.0.1"}), (endNode:Hosts {IP:"10.0.0.4"})
CALL apoc.algo.allSimplePaths(startNode, endNode, 'Link2', 6 ) YIELD path
RETURN path
2)
MATCH (startNode:Hosts {IP:"10.0.0.1"}), (endNode:Hosts {IP:"10.0.0.4"})
CALL apoc.algo.dijkstra(startNode, endNode, 'Link2', 'BANDOUT') YIELD path, weight
RETURN path, weight
那么,我如何将这两个查询合二为一呢?我正在使用 Neo4j 3.0.3 和 apoc 3.0.4。