【问题标题】:how to import data from sql to neo4j如何将数据从sql导入neo4j
【发布时间】:2013-10-07 21:01:52
【问题描述】:

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

【问题讨论】:

  • 你的意思是避免编写程序来完成它吗?即你想要在 neo4j 服务器上的一个函数,你可以指向一个 sql server 实例并让它读取服务器?
  • 是的,类似的,或者不是用neo4j服务器密码语言创建表和数据,它可以接受sql语言,所以我可以使用sql导出工具并在neo4j服务器上运行脚本并将它们导入那里
  • 图形数据库和关系数据库是两个不同的世界。 “直接”导入到底是什么意思?
  • 好吧,我正在使用 LINQ to sql 与我的数据库对话,我想用图形数据库替换它,这样我的程序就可以与图形数据库对话,我在 Tatham 视频中看到 [vimeo.com/43676873],他将一些数据导入图形数据库,然后从其程序中对其进行查询,我想知道如何一次将我的数据全部导入它或要求它使用我的 sql 数据库
  • 有:neo4j.org/develop/import 提供了一些关于如何从关系数据库中导入数据的信息。还有github.com/peterneubauer/sql-import

标签: neo4j neo4jclient


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    我不知道 Neo4j 可以直接导入 SQL 的任何方式,您提到您目前正在使用 LinqToSQL 来读取您的数据库,所以我想您也有一组代表您的数据的类?

    据我所知,最好的办法是通过 LinqToSQL 代码读取数据,然后将其推送到 Neo4j 数据库中。 但是你会想要确保你的代码有意义,例如,你说

    而不是创建表和数据

    Neo4j 没有表的概念,我会花时间试验你必须查看的有限数据子集,看看花时间迁移是否真的有意义。您可能/可能会发现您当前的数据对象在图形世界中没有意义......

    【讨论】:

      【解决方案3】:

      除了此处的 jjaderberg 答案外,您还可以使用 Talend Open Studio for Big Data 查询 SQL 服务器并将结果直接导入 Neo4j 图形,而无需先将其导出到 .csv 或电子表格。
      以下是如何将 Talend 与 Neo4j 一起使用的教程:http://neo4j.com/blog/fun-with-music-neo4j-and-talend/
      请注意,他使用的是 .csv,但您可以轻松地将任务 tMSSqlInput 用作数据源,将任务 [tNeo4jOutput] 作为数据的目标,将任务 [tNeo4jOutputRelationship] 用作图形关系。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 2014-01-26
      • 2019-07-27
      • 2014-09-28
      • 1970-01-01
      相关资源
      最近更新 更多