neo4j importer - 不使用csv

时间:2016-03-24 17:45:10

标签: neo4j spring-data-neo4j

我想在不使用csv文件的情况下导入neo4j数据库,即如果我有mysql结果集,那么我只需将其转储到neo4j中,并将处理过的mysql数据库中的记录标记为已处理。

应该在内存中管理关系和索引,而不需要csv文件。

一种方法是使用弹簧模板的.save方法,但是一次只占一个实体,我有数百万条记录,这需要很长时间。

我可以使用任何API批量插入neo4j DB。

1 个答案:

答案 0 :(得分:0)

查看neo4j-csv-firehose project。从自述文件:

  

neo4j-csv-firehose使Neo4j的LOAD CSV Cypher命令能够从其他数据源加载其他数据源。它提供了对csv的其他数据源的即时转换 - 因此可以作为LOAD CSV的输入。

您可以在mysql上指向csv-firehose,并将CSV格式的SQL语句(或表的内容)的结果流式传输到LOAD CSV Cypher。这允许您使用性能LOAD CSV Cypher进行导入,而无需处理从mysql导出数据到CSV的过程。

例如,要连接到mysql并将名为person的表的内容导入Neo4j:

load csv with headers from "http://localhost:7474/csv/jdbc?url=jdbc%3Amysql%3A%2F%2Flocalhost%2Fmydb&table=person&user=mydb&password=123" as line create (:Person {firstname: line.firstName, lastname: line.lastName});

更多示例说明here.