gpt4 book ai didi

mysql - 将 MYSQL 数据库导入 NeO4j

转载 作者:行者123 更新时间:2023-11-29 21:07:17 26 4
gpt4 key购买 nike

我在远程服务器上有一个 mysql 数据库,我正在尝试将其迁移到 Neo4j 数据库中。为此,我将各个表转储到 csv 文件中,现在计划使用 LOAD CSV 功能从表创建图表。

加载每个表时如何保留表之间的关系?换句话说,如何为整个数据库而不只是单个表生成图表?

最佳答案

  1. 将每个表格加载为 CSV
  2. 在关系字段上创建索引(Neo4j 仅执行单个属性索引)
  3. 使用 MATCH() 查找表之间的相关记录
  4. 使用 MERGE(a)-[:RELATIONSHIP]->(b) 创建表之间的关系。

“一次全部”运行,这将创建一个大型事务,不会完成,并且很可能会因堆错误而崩溃。要解决这个问题,需要首先加载 CSV,然后分批创建 10K-100K 事务 block 的关系。

实现该目标的一种方法是:

MATCH (a:LabelA)
MATCH (b:LabelB {id: a.id}) WHERE NOT (a)-[:RELATIONSHIP]->(b)
WITH a, b LIMIT 50000
MERGE (a)-[:RELATIONSHIP]->(b)

它的作用是查找与 :LabelA 记录没有关系的 :LabelB 记录,然后为其找到的前 50,000 条记录创建该关系。重复运行此操作最终将创建您想要的所有关系。

关于mysql - 将 MYSQL 数据库导入 NeO4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36698116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com