这是针对Neo4j Milestone版本2.1.0-M01。我一直在尝试导入这个小的.csv文件:
我为D栏尝试了四种不同的格式。
我的Cypher查询:
LOAD CSV FROM "file:<PATH_TO_FILE>/Soccer_players.csv" AS line
MERGE (p:Player {name: line[0]})
MERGE (t:Team {name: line[1]})
CREATE (p)-[:PLAYS_FOR {type: line[3]}]->(t)
当我不包含&#34; {type:line [3]}&#34;时,它导入正常。尝试添加此关系属性时,我收到错误消息
[null]不是受支持的属性值
是的,我可以作为节点导入,但为什么不能以这种方式在关系上设置属性。
答案 0 :(得分:1)
我将第四列更改回了club / national,以及您从第三列获取团队名称的查询,并且没有任何问题。
请参阅Google Doc以获取更新的工作表副本以及我的Cypher:
LOAD CSV FROM "file:filepath/Soccerplayers.csv" AS line
MERGE (p:Player {name: line[0]})
MERGE (t:Team {name: line[2]})
CREATE (p)-[:PLAYS_FOR {type: line[3]}]->(t)
neo4j-sh (?)$ match n-[r:PLAYS_FOR]->m return n.name,r.type,m.name limit 5;
+------------------------------------------------------------+
| n.name | r.type | m.name |
+------------------------------------------------------------+
| "Sergio Romero" | "club" | "Monaco" |
| "Sergio Romero" | "national" | "Argentina National Team" |
| "Mariano Andœjar" | "club" | "Catania" |
| "Mariano Andœjar" | "national" | "Argentina National Team" |
| "Agust’n Ori—n" | "club" | "Boca Juniors" |
+------------------------------------------------------------+
答案 1 :(得分:0)
我遇到了同样的问题。如果CSV文件有4列,并且您从所有4列中提取数据,则会给出null属性错误。因此,对我来说简单的解决方案是在最后添加一个虚拟的第5列并加载。
也许导入者正在寻找一些EOL角色。