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

Joh*_*hir 4 neo4j

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

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

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

Sum*_*rma 6

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

但请记住,如果您的图表在将来增长并且说某个情况到达需要将另一个数据库表建模为图形,并且任何机会说新数据库表中的某些ID与旧数据库表冲突,那么在那种情况下你会遇到维护节点唯一性的麻烦.

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

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