As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Adicionar em massa vértices e bordas em lotes
Cada consulta ao banco de dados do Neptune é executada no escopo de uma única transação, a menos que você use uma sessão. Isso significa que, se você precisa inserir uma grande quantidade de dados usando consultas do gremlin, agrupá-los em um lote de 50-100 melhora o desempenho reduzindo o número de transações criadas para a carga.
Por exemplo, a inclusão de 5 vértices ao banco de dados teria a seguinte aparência:
// 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();
Da mesma forma, você pode adicionar bordas em lote usando. addE Use V() para referenciar os vértices existentes como a origem e o destino de cada aresta:
// 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();
Você também pode combinar a criação de vértices e bordas em um único lote. Use as() para rotular vértices recém-criados para que você possa referenciá-los ao adicionar bordas na mesma travessia:
// 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();