Neo4j找到第一个n最短路径

时间:2013-09-01 18:02:22

标签: java neo4j

我试图找出neo4j中的方法来找到两个节点之间的N(const)路径数。

使用更大的图表:

PathFinder<Path> finder = GraphAlgoFactory.allSimplePaths(
                        Traversal.expanderForTypes( Relationship.KNOWS ), 20 );
Iterable<Path> paths = finder.findAllPaths( startNode, endNode );

返回多路径的路径(实际上我必须杀死进程,因为它一直在返回可能的路径)。

我的第一个想法(摘要)是找到这样的n最短路径:

  1. 使用GraphAlgoFactory.shortestPath(...)
  2. 查找最短路径
  3. 在每次迭代中查找GraphAlgoFactory.pathsWithLength()增量为1的其他路径,从长度==路径长度+ 1开始,从1开始。
  4. 直到达到最大长度(深度)或最大命中数。
  5. 但也许我想再次发明轮子?是否有Neo4j提供的这样的alhorithm?我找不到任何

1 个答案:

答案 0 :(得分:0)

我认为这个算法可能是你自己可以开发并为图形算法包做出贡献的东西,可能是allSimplePaths的变体?