问题

如何将数据从 sql 导入 neo4j


我开发了一个具有 SQL 数据库的 .net 项目。我想知道有什么方法可以将我的 SQL DB 文件直接导入 Neo4j 数据库吗?

推荐答案

Chris Skardon 是对的,您可能想稍微整理一下类别。Neo4j 不是关系数据库之上的图形层,它是一种竞争/互补的数据库。虽然可以在 Neo4j 中模仿您的关系模式,但它可能不是很有用,您可能需要进行一些改造才能从使用 Neo4j 中受益。

如果您决定确实要将数据从 SQL 数据库传输到 Neo4j,但不想自己编写实际导入的代码,这里有一些技巧和工具可供参考。(对于这个以 Java 为中心的列表,我深表歉意,但我还没有与 .NET 的 Neo4j 进行过交互——我相信这里的其他人可以提供帮助。)

  • 将 SQL 导出为 CSV,使用 Michael Hunger 的批量 CSV 导入器导入 Neo4j,并获得 Max De Marzi 的一些指导
  • 将 SQL 导出到电子表格并按照此处的说明导入 Neo4j
  • 使用带有 Neo4j JDBC 驱动程序的 Pentaho Kettle 等 ETL 工具
  • 使用对象映射框架(可能类似于您的 Linq),例如 Spring Data。Spring Data Neo4j 用于他们所谓的对象图映射,您甚至可以将域对象划分为不同的数据库后端系列,即所谓的跨存储持久性

但是,我谦虚地建议尽可能多地编写自己的代码来与 Neo4j 交互。可能其他人做得更好(至少这是我倾向于发现的),但是自己编写将大大增强您对数据库和 API 的理解,并且当您真正知道如何驾驶时,您将获得更好的里程数。