4

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

4

3 回答 3

11

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

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

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

于 2013-10-09T09:28:40.827 回答
0

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

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

而不是创建表格和数据

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

于 2013-10-08T13:35:20.167 回答
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] 用于图形关系。

于 2014-05-08T10:31:00.497 回答