excel - 将excel sheet的数据与neo4j中的相关数据进行对比
问题描述
我们以 excel 格式将数据从 RDBMS 迁移到 NEO4J。我们在 excel 表中有大约 100000 条记录,使用该 excel 表我们在 neo4j 中创建了数据。现在,我们要将excel的数据与neo4j中的节点数据进行比较。
excel表中有一些字段是重复的,这意味着特定字段值被多次使用,但在neo4j中它只有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 个结果;你可能想看看其他人,看看你可能想做哪些额外的检查。
推荐阅读
- java - 使用 Spinner 过滤 ListView
- python - Python pandas:如何获取混合数据类型列中对象的数据类型?
- list - F#匹配模式鉴别器未定义问题
- mysql - 在 SQL 中比较日期 || 在 where 子句中使用日期
- javascript - React:有或没有 useCallback 的优化回调
- c++ - 如何动态存储 QVector 的地址
在另一个 QVector *>? - c# - 单击禁用按钮时C#秒表停止
- c - 将指针存储为长“警告:赋值使指针从没有强制转换的整数”
- javascript - ReferenceError:在 Vue.JS 中没有定义 require
- javascript - 未捕获的类型错误:无法设置未定义的属性“显示”并且加载程序不会消失