2012-04-25 79 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

相關問題