0

我试图在 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. 寻找GraphAlgoFactory.pathsWithLength()在每次迭代中增加 1 的附加路径,从 length == path length+1 from 1 开始。
  3. 迭代直到达到最大长度(深度)或最大命中数。

但也许我想再次发明轮子?Neo4j 是否提供了这样的算法?我找不到任何

4

1 回答 1

0

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

于 2013-09-02T21:12:01.157 回答