0
最近、Neo4jデータベースの使用を開始しました。そして、あるノードから別のノードに達する可能性のあるすべてのパスを見つけるために以下のコードを使用しています:Neo4j最大の長さを指定しないで2つのノード間の単純なパス
Node node1 = db.getNodeById(startNodeId);
Node node2 = db.getNodeById(endNodeId);
PathExpander<Object> pathExpander = PathExpanders.allTypesAndDirections();
PathFinder<Path> pathsFinder = GraphAlgoFactory.allSimplePaths(pathExpander, 10);
Iterable<Path> paths = pathsFinder.findAllPaths(node1, node2);
//Iterate all paths
あなたはお気づきのように、上記のコードでは、allSimplePaths()
のために私たちは、私が前にパスを見つけるために知っておくことはできません入力として最大の長さを(私は10
として与えられている)を提供する必要があります。
私の質問は、どのように最大長を指定せずに2つのノード間のすべての単純なパスを取得できますか?
私はそれが(高い価値を使って)2番目の(しかし良いことではない)オプションだと考えました。私はこれを処理するより良い方法を探しています。他の選択肢はありますか? – developer
"より良い"代替手段の意味が不明です。 2つのノード間のすべての「単純経路」(すなわち、反復ノードを持たないすべての経路)を見つけるためのアルゴリズムは、適用可能なすべての経路を試行しなければならず、任意に長くすることができる。したがって、適切なアルゴリズムが高い最大深度を使用できるようにしない限り、完全な結果を得ることはできません。 – cybersam