我试图在 neo4j 中找出方法来找到两个节点之间的 N (const) 条路径。
使用更大的图表:
PathFinder<Path> finder = GraphAlgoFactory.allSimplePaths(
Traversal.expanderForTypes( Relationship.KNOWS ), 20 );
Iterable<Path> paths = finder.findAllPaths( startNode, endNode );
返回到许多路径(实际上我不得不终止进程,因为它一直在返回可能的路径)。
我的第一个想法(抽象)是找到这样的 n 最短路径:
- 找到最短路径
GraphAlgoFactory.shortestPath(...)
- 寻找
GraphAlgoFactory.pathsWithLength()
在每次迭代中增加 1 的附加路径,从 length == path length+1 from 1 开始。 - 迭代直到达到最大长度(深度)或最大命中数。
但也许我想再次发明轮子?Neo4j 是否提供了这样的算法?我找不到任何