在Neo4J中使用“id”属性是一种好习惯吗?

时间:2014-01-21 05:57:12

标签: neo4j

在我的系统中,我有一个带有“id”列的关系数据库表,我在Neo4J中代表了一些相同的数据。

我的第一种方法是在Neo中创建一个与id列相关的“id”属性。

有什么理由认为这不是一个好习惯吗?它是否在技术上或概念上与Neo生成的节点ID冲突?

1 个答案:

答案 0 :(得分:6)

如果id用于唯一地区分将生成的节点,那么有一个是好的。

但请记住,如果您的图表在将来增长并且说某个情况到达需要将另一个数据库表建模到图形中,并且有可能说新数据库表中的某些ID与旧数据库表冲突,则请注意这种可能性。在那种情况下,你将遇到维护节点唯一性的麻烦。

建议不要使用neo4j生成的节点ID,因为在删除节点时它们很容易被重用。

如果您只想将数据库表建模到图形数据库中并且不想稍后将图形数据与您的数据库表相关联,则可以使用UUID.randomUUID()。toString()来生成随机唯一UUID(非常节点ID的重复UUID概率较小。