2017-04-06 1 views
2

私は特にこのコードのビットでは、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

答えて

関連する問題