2つのノード間のすべてのパスを見つける方法を見つけるのに苦労していますが、Neo4jによるパス探索は、彼らの特性の一つによって探検された。Neo4j Cypherは、ソートされた関係を探索するすべてのパスを見つける
だから、明確にするために、私は最大長M.クエリは次のようになりますまで、2つのノード間のK最良のパスを見つけたいと言うことができます:これまでのところ
match (source{name:"source"}), (target{name:"target"}),
p = (source)-[*..M]->(target)
return p order by length(p) limit K;
とても良いです。しかし、パスの関係に「優先度」というプロパティがあるとします。私が望むのは、パス探索の各ステップでNeo4jに最初に探究すべき関係を伝えるクエリを書くことです。
私は、Javaライブラリと組み込みデータベースを使用すると(PathExpanderインターフェイスを実装し、それをJavaのGraphAlgoFactory.allSimplePaths()関数への入力として与えることで可能になることが分かります。 しかし、今私はボルトやRESTのAPIを使用してサーバーモードのデータベースアクセスでこれを行う方法を見つけようとしています。
サーバーモードでこれを行う方法はありますか?または、サーバーモードでグラフにアクセスしているときにJavaライブラリ関数を使用していますか?
どうAPOC' 'については? https://github.com/neo4j-contrib/neo4j-apoc-procedures#graph-algorithms-work-in-progress –
私はそれをチェックしました、それは私が欲しいものはしませんが、とにかく感謝! –