Database 使用LOAD CSV创建Neo4j图形数据库

Database 使用LOAD CSV创建Neo4j图形数据库,database,graph,neo4j,nodes,graph-databases,Database,Graph,Neo4j,Nodes,Graph Databases,我有一个CSV文件,其中包含要使用Neo4j转换为图形数据库的数据。文件中的列采用以下格式: 个人1 |个人2 |点数 现在Person1和Person2中的ID是冗余的,所以我使用了一个Merge语句。但是我没有得到正确的结果。 对于示例数据集,输出似乎是正确的,但当我导入包含2M行的数据集时,它不知何故没有创建关系 我正在输入我当前使用的密码 USING PERIODIC COMMIT 1000 LOAD CSV WITH HEADERS FROM "file:C:/Users/yogi/D

我有一个CSV文件,其中包含要使用Neo4j转换为图形数据库的数据。文件中的列采用以下格式:

个人1 |个人2 |点数

现在Person1和Person2中的ID是冗余的,所以我使用了一个Merge语句。但是我没有得到正确的结果。 对于示例数据集,输出似乎是正确的,但当我导入包含2M行的数据集时,它不知何故没有创建关系

我正在输入我当前使用的密码

USING PERIODIC COMMIT 1000
LOAD CSV WITH HEADERS FROM "file:C:/Users/yogi/Documents/Neo4j/default.graphdb/sample.csv" AS csvline
MERGE (p1:Person {id:toInt(csvline.id1)})
MERGE (p2:Person {id:toInt(csvline.id2)})
CREATE (p1)-[:points{count:toInt(csvline.c)}]->(p2)

有些事情你应该检查一下:

  • 您是否正在使用索引:
    导入前应在:Person(id)
    上运行创建索引
  • 根据您使用的Neo4j版本,该语句可能会受到“渴望管道”的约束,这基本上阻止了定期提交。有关管道的详细信息,请参见

  • 您的查询看起来是正确的。节点创建正确吗?嘿@MartinPreusse,节点创建正确,但关系数显示为0。在总共35000个节点中,我可能也缺少200个节点。为了排除故障,您可以在两个查询中拆分节点和关系的创建。请看Stefan答案中的链接。渴望的事情实际上起了作用。我尝试先创建节点,然后匹配它们以创建关系。