Añada vértices y bordes de forma masiva por lotes - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Añada vértices y bordes de forma masiva por lotes

Cada consulta a la base de datos de Neptune se ejecuta en el ámbito de una sola transacción, a menos que utilice una sesión. Esto significa que, si se necesita insertar una gran cantidad de datos con las consultas de Gremlin, agruparlos en lotes en un tamaño de 50-100 mejora el rendimiento al reducir el número de transacciones creadas para la carga.

Por ejemplo, agregar 5 vértices a la base de datos tendría el siguiente aspecto:

// 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();

Del mismo modo, puede agregar bordes por lotes utilizando. addE Se utiliza V() para hacer referencia a los vértices existentes como origen y destino de cada arista:

// 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();

También puede combinar la creación de vértices y aristas en un solo lote. Se utiliza as() para etiquetar los vértices recién creados de forma que pueda hacer referencia a ellos al añadir aristas en el mismo recorrido:

// 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();