我们以excel格式将数据从RDBMS迁移到NEO4J。 我们在excel工作表中有大约100000条记录,使用该excel工作表,我们在neo4j中创建了数据。现在,我们要比较excel的数据和neo4j中的节点数据。
Excel工作表中有些字段重复,这意味着多次使用特定字段值,而在neo4j中仅使用1次。(使用合并)
有什么方法可以比较和验证大量数据。 因此,我们可以知道我们没有丢失任何数据。
答案 0 :(得分:1)
我认为没有具体的一般性答案(例如可以为您完成此任务的工具),因为它必须依赖于电子表格数据结构,neo4j数据模型以及您想要的方式的知识。两个对应。
但是也许您可以通过从电子表格中提取有关以下内容的信息来进行健全性检查:
,并将其与neo4j DB实际包含的内容进行比较。如果数字完全匹配,则您可以确信自己的数据是完整的。您还可以抽查几个节点以查看它们是否具有预期的关系,并检查这些节点和关系是否具有正确的数据。
要获取每个标签的节点数以及每种类型的关系,可以使用APOC过程apoc.meta.stats:
CALL apoc.meta.stats() YIELD labels, relTypesCount
RETURN *
以下是示例结果:
╒══════════════════════════════════════╤══════════════════════════════════════╕
│"labels" │"relTypesCount" │
╞══════════════════════════════════════╪══════════════════════════════════════╡
│{"Movie":76,"Class":2,"Partner":1,"Con│{"ACTED_IN":344,"REVIEWED":18,"WROTE":│
│tract":2,"Person":275,"Claim":2} │20,"PRODUCED":30,"CLAIMANT":2,"FOLLOWS│
│ │":6,"DIRECTED":88,"POLICY_HOLER":2} │
└──────────────────────────────────────┴──────────────────────────────────────┘
我只选择了该过程中YIELD
个结果中的2个;您可能要看看其他人,看看您可能要进行哪些其他检查。