0

私はneo4jで2つのノード間の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 から長さ == パスの長さ + 1 から開始して、反復ごとに 1 ずつ増加する追加のパスを探します。
  3. 最大の長さ (深さ) または最大ヒット数に達するまで繰り返します。

でも、もしかしたら車輪を発明しようとしているのかもしれません。Neo4j で提供されるそのようなアルゴリズムはありますか? 何も見つかりません

4

1 に答える 1

0

このアルゴは、おそらく allSimplePaths のバリエーションとして、自分で開発し、graph-algo パッケージに貢献できるものではないでしょうか?

于 2013-09-02T21:12:01.157 に答える