Neo4j创建多个节点和关系

Ano*_*ast 4 neo4j cypher

我正在使用Neo4j构建一个巨大的图形数据库(超过一百万个节点).我现在正在这样做的方法是CREATE (n {property:'value'})为每个节点运行一个密码查询.正如预期的那样,这是一种效率很低的方法,需要花费大量的时间.有人可以建议我一些替代方法来克服这个问题吗?我听说Neo4j还提供了一些默认的批处理接口来创建多个节点.我目前正在使用此版本的代码(包括关系):

create (a { name: "a" })-[:rel1]->(b {name : "b"}),(c {name: "c"})-[:rel2]->(d {name:"d"}),...

这是一种有效的方法还是有更好的方法?提前致谢!:)

Chr*_*man 5

我考虑的两种选择:

  1. 使用LOAD CSV支持:http://docs.neo4j.org/chunked/stable/query-load-csv.html
  2. 使用单paramaterized Cypher支架声明,并提供一组参数:http://docs.neo4j.org/chunked/stable/query-create.html#create-create-multiple-nodes-with-a-parameter-for-它们的属性

否则就会有批量插入器,如上所述.


Ron*_*ijk 2

Neo4j 网站上有一个概述: http: //www.neo4j.org/develop/import

但简而言之,对于超过一百万个节点,我会说:

如果您可以使用 Java 编写代码:

http://docs.neo4j.org/chunked/stable/batchinsert.html

别的:

https://github.com/jexp/batch-import