我有两个Neo4j数据库。一个是旧版本,另一个是新版本。我想看看哪些节点被添加到新版本中。
对于新版本中的每个节点,我尝试查看它是否存在于旧版本中。
如何比较其他数据库中是否真的是同一个节点?我可以使用Neo4j节点中的唯一标识符吗?例如,在关系数据库中,表中的一行具有ID。
答案 0 :(得分:4)
如果你想比较两件事,你必须根据你的平等标准来比较这两件事。如果更改关系数据库的一行中的数据,则主键的比较不保证相等。要确保两行相同,您必须检查行的内容是否相同(或者是否有其他相等的标准为真)。
neo4j中的节点没有唯一标识符。它们具有可重复使用的内部ID,不应用于比较节点。为了确保旧数据库中的每个节点都在新数据库中,您必须逐个进行比较。
答案 1 :(得分:2)
如果您的数据模型在每个节点中都包含显式唯一ID属性,那么检测新节点将是微不足道的 - 即使某个节点的属性或关系发生了变化。