为什么可以';我可以在Java中使用Gremlin设置新顶点的Id吗?

为什么可以';我可以在Java中使用Gremlin设置新顶点的Id吗?,java,neo4j,gremlin,Java,Neo4j,Gremlin,我正在使用Gremlin和Java以及Neo4j图形。 我创建了3个新顶点,并尝试将它们的ID设置为1,2,3,但它似乎不起作用,我做错了什么 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"); //

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

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?我还可以将ID改为字符串吗


谢谢

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

我从运行g.clear()开始,所以我知道我首先要处理的是一个空图。哦,好吧,很有趣。因此,如果我想为一个节点分配一个Id,那么我可以将其设置为属性,但是我如何有效地查找与该Id关联的节点呢?有没有比获取图形中的所有节点,然后按属性Id进行筛选更好的方法?是的,您可以为该属性编制索引并进行查找,请参阅