如何将数据从sql导入neo4j

时间:2013-10-07 21:01:53

标签: neo4j neo4jclient

我开发了一个带有SQL数据库的.net项目。 我想知道有没有办法,我可以直接将我的SQL DB文件导入到neo4j数据库中?

3 个答案:

答案 0 :(得分:11)

Chris Skardon是对的,你可能想稍微解决这些问题。 Neo4j不是关系数据库之上的图层,它是一种竞争/互补的数据库。虽然在Neo4j中模仿你的关系模式是可能的,但它可能不是很有用,你可能不得不做一些改造以从使用Neo4j中受益。

如果您确定要将数据从SQL数据库传输到Neo4j,但又不想自己编写实际导入代码,请参阅以下提示和工具。 (我为这个以Java为中心的列表道歉,但我还没有与.NET的Neo4j进行过互动 - 我相信其他人可以提供帮助。)

但是,我会谦虚地建议尽可能多地编写自己的代码来与Neo4j进行交互。可能其他人已经做得更好(至少这是我经常找到的)但是自己编写它将大大增强你对数据库和API的理解,当你真正知道如何驾驶时,你将获得更好的里程。

答案 1 :(得分:0)

我不知道Neo4j能否直接导入SQL,你提到你目前正在使用LinqToSQL来读取你的数据库,所以我假设你还有一组代表你数据的类?

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

  

而不是创建表格和数据

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

答案 2 :(得分:0)

除了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]用于图表关系。