我从Tinkerpop3的ne4j-gremlin-bolt Neo4j实现中看到了Tinkergraph和Neo4j-gremlin之间的不同行为,特别是在这段代码中:
// 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中看到的。我在ne4j-gremlin-bolt中看到的是计数始终是1(在第一个AddVertex之后)。提交后,10个实例出现在Neo4J数据库中(不出所料)。第二次运行它时,计数始终是11 (在第一次addVertex之后),并且在提交之后出现20个实例。
这似乎是基本的行为,所以我假设我遗漏了一些明显的东西。
New4j-gremlin-bolt- v0.2.18
tinkergraph-gremlin - v3.2.4
Ne4j-gremlin- v3.2.4
发布于 2017-04-07 23:22:41
原来是ne4j-gremlin-bolt处理瞬态对象时的一个bug:https://github.com/SteelBridgeLabs/neo4j-gremlin-bolt/issues/52
预计很快就会修复。
https://stackoverflow.com/questions/43259879
复制相似问题