2014-01-21 77 views
2

在我的系統中,我有一個帶有「id」列的關係數據庫表,我代表了Neo4J中的一些相同數據。在Neo4J中使用「id」屬性是一個好習慣嗎?

我的第一種方法是在Neo中創建一個與id列相關的「id」屬性。

這有什麼理由不是一個好習慣嗎?它在技術上或概念上與Neo生成的節點ID衝突?

回答

4

如果ids服務於唯一區分將生成的節點的目的,那麼是它的好處是有一個。

但請記住,如果您的圖表將來會增長,並且說情況到達時需要將另一個數據庫表建模爲圖形,並且有可能說新數據庫表中的某些ID與舊數據庫表衝突那麼在這種情況下,你將會遇到維護節點唯一性的麻煩。

建議不要使用neo4j生成的節點ID,因爲它們在節點被刪除的情況下容易被重複使用。

如果您只是想將數據庫表建模成圖數據庫,並且不想將圖數據與您的數據庫表關聯起來,則可以使用UUID.randomUUID()。toString()來生成隨機唯一的UUID(重複UUID的概率非常小)。

+0

關於來自不同表格的ID:我使用neo4j 2與標籤,所以我使用不同的標籤每張表 –

+0

很酷,這就好!然後保持ID數據庫表ID不會導致任何問題,因爲標籤和ID組合將始終不同! –

相關問題