1

私はneo4jのスターターであり、neo4jを使用して最適なパスを見つけることができるかどうかを知りたい.

3 つの可能なパスがある場合は、3 つすべてをコスト順に並べる必要があります。100 の可能なパスがある場合は、結果も制限する必要があります (たとえば、トップ 10 の結果)。

これはneo4jで可能ですか?

PS: 私のテストでは、java-astar-routing サンプルを使用しました: https://github.com/neo4j-examples/java-astar-routing

私の貧弱な英語に感謝し、申し訳ありません;)、

4

2 に答える 2

2

基本的に、必要なのは 2 つのノード間のすべてのパスであり、それらの重みを計算し、コストで並べ替えます。

後の 2 つのビットは非常に簡単に実行できます。必要なのは、すべてのパスを見つけることだけです。

http://api.neo4j.org/current/org/neo4j/graphalgo/GraphAlgoFactory.html#allPaths(org.neo4j.graphdb.RelationshipExpander , int)

于 2013-07-05T08:56:13.710 に答える
0

ベスト ファーストの順序付けポリシーを使用して、独自のトラバーサーを作成することもできます。何かのようなもの:

Traversal.traversal()
    .order( new MyOwnBestFirstOrdering() )
    ...
    .traverse( startNode );

class MyOwnBestFirstOrdering extends BestFirstSelectorFactory<Integer,Integer>
{
    @Override public Integer startData() {
        return 0;
    }

    ...
}
于 2013-07-13T20:12:34.053 に答える