将CSV加载到neo4j中不会填充关系属性

时间:2016-06-08 01:36:47

标签: neo4j cypher

不遵循我的密码查询的内容。我有一组我通过加载CSV成功创建的节点,我有第二个CSV,我正在尝试加载关系。节点及其属性都正确加载,并且关系都正确加载,但关系属性永远不会加载(没有错误,只有在我完成时没有任何关系的道具)。

我的CSV文件都是无头的,我觉得不重要(但是如果我弄错了就告诉我)。关系csv看起来像这样:

a,b,1
a,c,2
a,d,3

如果第一列是rel的出站侧的标识符,则第二列是入站侧的标识符,第三列是我想要创建的关系的属性。

我尝试了一些变化:

首先:

USING PERIODIC COMMIT LOAD CSV FROM "file:///children.csv" AS row 
MATCH (p1:DashboardPage {path:row[0]}), (p2:DashboardPage {path:row[1]}) 
CREATE (p1)-[:CHILD {order: row[3]}]->(p2);

然后这个:

USING PERIODIC COMMIT LOAD CSV FROM "file:///children.csv" AS row 
MATCH (p1:DashboardPage {path:row[0]}), (p2:DashboardPage {path:row[1]}) 
MERGE (p1)-[c:CHILD]->(p2) ON MATCH SET c.order=toInt(row[3]);

其他一些小版本。在所有情况下,所有内容都是在数据库中按预期创建的,除了我试图分配给关系的属性。

1 个答案:

答案 0 :(得分:2)

您应该使用row[2]而不是row[3],因为每行只有3个项目(索引是从0开始的)。