Neo4j に大規模なネットワークが保存されています。特定のルート ノードに基づいて、そのノードの周りのサブグラフを抽出し、別の場所に保存したいと考えています。したがって、必要なのは、フィルター条件に一致するノードとエッジのセットです。
私の知る限り、すぐに使用できるソリューションはありません。利用可能なグラフ マッチング コンポーネントがありますが、これは完全一致に対してのみ機能します。Neo4j API 自体は、アクセスするノード/エッジを定義するために使用できるグラフ トラバーサルのみを定義します。
Traverser exp = Traversal
.description()
.breadthFirst()
.evaluator(Evaluators.toDepth(2))
.traverse(root);
これで、すべてのノード/エッジをすべてのパスのセットに追加できますが、これは非常に非効率的です。どのようにしますか?ありがとう!
EDIT各トラバーサルの最後のノードと最後の関係をサブグラフに追加することは理にかなっていますか?