私は特にこのコードのビットでは、Tinkerpop3ののNeo4j-グレムリンボルトのNeo4j実装からTinkergraphとのNeo4j-グレムリンの間で異なる動作を見ています:異なる挙動は、TinkergraphとのNeo4j-グレムリンは
// different Tinkerpop impls
Graph graph = new Neo4JGraph(driver, vertexIdProvider, edgeIdProvider);
// Graph graph = Neo4jGraph.open("C:\\tmp\neo");
// Graph graph = TinkerGraph.open();
GraphTraversalSource g = graph.traversal();
String label = "Person";
for (int i = 0; i < 10; i++) {
System.out.println("Before " + +g.V().toList().size());
graph.addVertex(label);
System.out.println("After " + +g.V().toList().size());
}
// if graph is transactional
graph.tx().commit();
私が期待していたのは、頂点数が1から10まで増えたことです。これはTinkergraphとNeo4j-gremlinの表示です。私がneo4j-gremlin-boltで見ることは、カウントが常に1(最初のAddVertexの後)であることです。コミット後、Neo4Jデータベースには10個のインスタンスが(期待通りに)表示されます。 2度目の実行では、カウントは常に11(最初のaddVertexの後)であり、コミット後に20のインスタンスが表示されます。
これは、neo4j-gremlin-boltで期待通りに動作する唯一の方法は、右のように思われないaddVertexの後にグラフをコミット(close)して閉じることです。
これは基本的な動作のようですので、わかりやすいものがないと思います。
のNeo4j-グレムリン - ボルト - v0.2.18
tinkergraph-グレムリン - v3.2.4
のNeo4j-グレムリン - v3.2.4