我正在使用Neo4j构建一个巨大的图形数据库(超过一百万个节点).我现在正在这样做的方法是CREATE (n {property:'value'})为每个节点运行一个密码查询.正如预期的那样,这是一种效率很低的方法,需要花费大量的时间.有人可以建议我一些替代方法来克服这个问题吗?我听说Neo4j还提供了一些默认的批处理接口来创建多个节点.我目前正在使用此版本的代码(包括关系):
create (a { name: "a" })-[:rel1]->(b {name : "b"}),(c {name: "c"})-[:rel2]->(d {name:"d"}),...
这是一种有效的方法还是有更好的方法?提前致谢!:)
我考虑的两种选择:
LOAD CSV支持:http://docs.neo4j.org/chunked/stable/query-load-csv.html否则就会有批量插入器,如上所述.
Neo4j 网站上有一个概述: http: //www.neo4j.org/develop/import
但简而言之,对于超过一百万个节点,我会说:
如果您可以使用 Java 编写代码:
http://docs.neo4j.org/chunked/stable/batchinsert.html
别的:
https://github.com/jexp/batch-import