如何将数据从sql导入neo4j

如何将数据从sql导入neo4j,neo4j,neo4jclient,Neo4j,Neo4jclient,我开发了一个.net项目,它有一个SQL数据库。 我想知道是否有任何方法可以将我的SQL DB文件直接导入neo4j数据库?我不知道neo4j可以直接导入SQL的任何方法,您提到您目前正在使用LinqToSQL读取数据库,所以我想您也有一组表示数据的类 据我所知,最好的办法是通过LinqToSQL代码读入数据,然后将其推入Neo4j数据库但是您需要确保您的代码有意义,例如,您说 而不是创建表和数据 Neo4j没有表的概念,我会花时间试验有限的数据子集,看看花时间迁移是否有意义。您可能会/可能会发

我开发了一个.net项目,它有一个SQL数据库。
我想知道是否有任何方法可以将我的SQL DB文件直接导入neo4j数据库?

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

据我所知,最好的办法是通过LinqToSQL代码读入数据,然后将其推入Neo4j数据库但是您需要确保您的代码有意义,例如,您说

而不是创建表和数据


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

克里斯·斯卡登是对的,您可能需要稍微整理一下类别。Neo4j不是关系数据库之上的图形层,它是一种相互竞争/互补的数据库。虽然可以在Neo4j中模拟您的关系模式,但它可能不是很有用,您可能需要进行一些重构才能从使用Neo4j中获益

如果您决定将数据从SQL数据库传输到Neo4j,但不希望自己编写实际的导入代码,那么下面是一些技巧和工具。(很抱歉,这个列表是以Java为中心的,但我还没有从.NET与Neo4j进行过交互–我相信这里的其他人可以提供帮助。)

  • 将SQL导出到CSV,导入到Neo4j,并使用一些
  • 将SQL导出到电子表格,然后再导入到Neo4j
  • 使用ETL工具,如
  • 使用对象映射框架(可能类似于Linq),例如。他们称之为对象图映射(ObjectGraphMapping),您甚至可以将域对象划分到不同的数据库后端,即所谓的

然而,我谦虚地建议您尽可能多地编写自己的代码,以便与Neo4j交互。也许其他人做得更好(至少我倾向于这样认为),但自己写这篇文章将极大地提高您对数据库和API的理解,当您真正知道如何驾驶时,您将获得更好的里程数。

除了这里的jjaderberg答案,您可以使用Talend Open Studio for Big Data查询SQL server并将结果直接导入Neo4j graph,而无需先将其导出到.csv或电子表格。
以下是关于如何将Talend与Neo4j一起使用的教程:

请注意,他使用的是.csv,但您可以轻松地将task用作数据源,将task[tNeo4jOutput]用作数据的目标,将task[Tneo4JoutpRelationship]用作图形关系。

您的意思是避免编写程序来实现这一点吗?i、 e.您希望neo4j服务器上有一个函数,可以指向sql server实例,让它只读取服务器?是的,类似的,或者不使用neo4j server cypher语言创建表和数据,它可以接受sql语言,因此,我可以使用sql导出工具,在neo4j服务器上运行脚本并导入它们。图形数据库和关系数据库是两个不同的世界。“直接”导入它到底是什么意思?我正在使用LINQ to sql与我的数据库对话,我想用图形数据库替换它,这样我的程序就可以与图形数据库对话,我在Tatham视频上看到了[,他将一些数据导入graph数据库,然后从其程序中查询,我想知道如何将我的数据一次性导入到graph数据库中,或者让它使用我的sql数据库有:关于如何从关系数据库导入数据的一些信息。我还写了一篇博客文章,介绍了从M将数据导入Neo4j的方法Microsoft SQL Server,您可以直接在以下位置进行检查: