&引用;[null]不是受支持的属性值;在Neo4j中使用关系属性时导入csv

&引用;[null]不是受支持的属性值;在Neo4j中使用关系属性时导入csv,csv,neo4j,cypher,Csv,Neo4j,Cypher,这适用于Neo4j里程碑版本2.1.0-M01。我一直在尝试导入这个小的.csv文件: 我为D列尝试了四种不同的格式 类型:“俱乐部” 类型:俱乐部 类型:俱乐部 俱乐部 我的密码查询: 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_F

这适用于Neo4j里程碑版本2.1.0-M01。我一直在尝试导入这个小的.csv文件:

我为D列尝试了四种不同的格式

  • 类型:“俱乐部”
  • 类型:俱乐部
  • 类型:俱乐部
  • 俱乐部
我的密码查询:

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)
从“文件:/Soccer\u players.CSV”作为行加载CSV
合并(p:Player{name:line[0]})
合并(t:Team{name:line[1]})
创建(p)-[:为{type:line[3]}]->(t)播放
当我不包括“{type:line[3]}”时,它可以很好地导入。尝试添加此关系属性时,我收到错误消息

[null]不是受支持的属性值


是的,我可以作为节点导入,但为什么不能用这种方式在关系上设置属性。

我将第四列改回俱乐部/国家,以及您从第三列获取团队名称的查询,没有任何问题

有关更新的工作表副本和我的密码,请参阅:

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"            |
+------------------------------------------------------------+

我也有同样的问题。如果CSV文件有4列,并且您正在从所有4列中提取数据,则会出现null属性错误。因此,对我来说,简单的解决方案是在末端添加一个虚拟的第5列并加载

也许进口商正在寻找一些EOL字符或其他东西