Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Massenweises Hinzufügen von Scheitelpunkten und Edges in Stapeln
Jede Abfrage an die Neptune-DB wird als einzelne Transaktion ausgeführt, es sei denn, Sie verwenden eine Sitzung. Wenn Sie daher viele Daten mithilfe von Gremlin-Abfragen einfügen müssen, wird die Leistung verbessert, wenn Sie diese Abfragen in Form von Batches aus 50 bis 100 Abfragen ausführen. Dies reduziert die Anzahl der für die Last erstellten Transaktionen.
Wenn Sie der Datenbank beispielsweise 5 Eckpunkte hinzufügen, würde dies wie folgt aussehen:
// Create a GraphTraversalSource for the remote connection final GraphTraversalSource g = traversal().withRemote(DriverRemoteConnection.using(cluster)); // Add 5 vertices in a single query g.addV("Person").property(T.id, "P1") .addV("Person").property(T.id, "P2") .addV("Person").property(T.id, "P3") .addV("Person").property(T.id, "P4") .addV("Person").property(T.id, "P5").iterate();
In ähnlicher Weise können Sie Kanten stapelweise hinzufügen mit. addE Verwenden Sie diese V() Option, um bestehende Scheitelpunkte als Quelle und Ziel jeder Kante zu referenzieren:
// Add edges in a single batched query g.V("P1").addE("knows").to(V("P2")) .V("P2").addE("knows").to(V("P3")) .V("P3").addE("knows").to(V("P4")) .V("P4").addE("knows").to(V("P5")).iterate();
Sie können die Erstellung von Scheitelpunkten und Kanten auch in einem einzigen Stapel kombinieren. Wird verwendetas(), um neu erstellte Scheitelpunkte zu beschriften, sodass Sie sie referenzieren können, wenn Sie Kanten in derselben Traversierung hinzufügen:
// Add vertices and edges together in a single query g.addV("Person").property(T.id, "P1").as("p1") .addV("Person").property(T.id, "P2").as("p2") .addV("Person").property(T.id, "P3").as("p3") .addE("knows").from("p1").to("p2") .addE("knows").from("p2").to("p3").iterate();