私はneo4jで2つのノード間の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 から長さ == パスの長さ + 1 から開始して、反復ごとに 1 ずつ増加する追加のパスを探します。- 最大の長さ (深さ) または最大ヒット数に達するまで繰り返します。
でも、もしかしたら車輪を発明しようとしているのかもしれません。Neo4j で提供されるそのようなアルゴリズムはありますか? 何も見つかりません