如何将关系数据库表加载到neo4j数据库中

时间:2014-02-27 18:18:04

标签: neo4j

我有数百万条记录的表格。我需要将这些记录作为节点加载到neo4j中。

请帮我解决如何操作,因为我是neo4j的新手。

2 个答案:

答案 0 :(得分:2)

这很简单,只需将应该成为节点的实体映射到一组csv文件中,并将连接映射到另一组文件中。

然后使用我的批量导入程序运行它们:https://github.com/jexp/batch-import/tree/20#binary-download

import.sh nodes1.csv,nodes2.csv rels1.csv,rels2.csv

根据需要向标头和batch.properties配置文件添加类型和索引信息。

您可以将批处理导入程序用于初始插入程序,也可以使用后续更新(但必须关闭数据库)。

使用其驱动程序连接到现有数据库非常容易,然后提取正确形状和种类的信息并将其插入到图形模型中,

使用带参数的Cypher语句或嵌入式事务性Java API进行持续更新。 请参阅:http://jexp.de/blog/2013/05/on-importing-data-in-neo4j-blog-series/

答案 1 :(得分:1)

您可以导出为CSV并将其导入节点(由于您有数百万条记录,可能无法正常工作) 你可以编写一个程序来完成它(这是我目前正在进行的工作)。 这也取决于你所知道的编程语言......但最重要的是,因为没有两个数据库是平等创建的(除非是故意的),所以很难创建一个全能的解决方案来将数据从SQL迁移到Neo。 / p>

到目前为止,我发现的最好的方法是创建一个程序来查询数据库中的表,找到所有相关的表(即外键),并将所有这些表行导入Neo,使用表名,然后将外键作为关系处理。

这并不容易。我已经在这里为我的数据库做了一个星期左右的工作...但我很接近!