Ich habe ein großes Netzwerk in Neo4j gespeichert. Basierend auf einem bestimmten Wurzelknoten möchte ich einen Untergraphen um diesen Knoten extrahieren und ihn woanders speichern. Also, was ich brauche, ist der Satz von Knoten und Kanten, die meinen Filterkriterien entsprechen.Extract Subgraph in Neo4j
Afaik gibt es keine Out-of-the-Box-Lösung zur Verfügung. Es gibt eine graph matching component available, aber es funktioniert nur für perfekte Übereinstimmungen. Die Neo4j API selbst definiert nur graph traversal, die ich verwenden können, um zu definieren, welche Knoten/Kanten besucht werden sollten:
Traverser exp = Traversal
.description()
.breadthFirst()
.evaluator(Evaluators.toDepth(2))
.traverse(root);
Nun, ich alle Knoten hinzufügen/Kanten-Sets für alle Pfade, aber das ist sehr ineffizient. Wie würdest du es machen? Vielen Dank!
BEARBEITEN Wäre es sinnvoll, den letzten Knoten und die letzte Beziehung jedes Durchlaufs zum Untergraphen hinzuzufügen?