2012-04-25 80 views
2

我使用Gremlin和Java以及Neo4j图形。 我创建了3个新的顶点,并尝试将它们的ID设置为1,2,3,但它似乎没有工作,我做错了什么?为什么我不能使用Java中的Gremlin为新顶点设置Id?

Vertex v1 = g.addVertex(1); 
v1.setProperty("name","jim"); 
Vertex v2 = g.addVertex(2); 
v2.setProperty("name","bob"); 
Vertex v3 = g.addVertex(3); 
v3.setProperty("name","fred"); 

//iterate through the vertices and get their id's (shouldn't they be 1,2, and 3 ?? 

for (Vertex V:GVs) 
    System.out.println(V.getId()); 

回报:

15 
16 
17 

这是为什么?我如何将ID设置为1,2,3?我也可以将Ids设置为字符串吗?

谢谢!

+0

我开始运行g.clear(),所以我知道我正在处理一个空图开始。 – user1056805 2012-04-25 18:57:24

回答

3

Neo4j正在为您分配新数据的ID,您不能设置它们,除非使用BatchInserter实用程序。 Gremlin默默无视你的ID。

+0

哦确定有趣。所以如果我想为一个节点分配一个Id,那么我可以将它设置为一个属性,但那么我将如何有效地查找与该Id相关联的节点?有没有比获取图中的所有节点并通过属性ID进行过滤更好的方法? – user1056805 2012-04-26 13:57:17

+0

是的,您可以索引该属性并查找它,请参阅http://docs.neo4j.org/chunked/snapshot/indexing.html – 2012-04-30 06:08:34

相关问题