Neo4j:关于MERGE一些null的错误总结

1. 

Neo.ClientError.Statement.SemanticError: Cannot merge the following node because of null property value for 'accidentReason': (:Accident {accidentReason: null}) (Failure when processing file '/D:/Neo4j/neo4j-community-5.13.0-windows/neo4j-community-5.13.0/import/node_accident.csv' on line 273.)

数据存储的excel文件中看不出有null的数据,是因为之前第一列有数据,我使用backspace键(<-)删除了,在Excel文件中看不出来,但是在Excel转化为CSV文件时,会有null数据(记事本打开才可以看见),显示为,,,,,,,,,,    这种一般都是有很多null数据

解决办法:(1)手动在CSV文件中删除多余的,,,,   

(2)从原始的Excel文件中删除报错的行(选中出错的那一行,整行删除)

(3)将MERGE换成CREATE

// 导入Accident节点

LOAD CSV WITH HEADERS FROM "file:///node_accident.csv" AS row

MERGE (a:Accident {accidentId: row.accidentId, accidentName: row.accidentName,accidentLocation:row.accidentLocation,accidentTime:row.accidentTime,accidentWeather:row.accidentWeather,accidentReason:row.accidentReason,exposeIssues:row.exposeIssues,preventionOrSolutionMeasures:row.preventionOrSolutionMeasures});

2. 

在执行// 导入Work节点 LOAD CSV WITH HEADERS FROM "file:///node_work.csv" AS row MERGE (w:Work {workId: row.workId, workName: row.workName});之后,报错Neo.ClientError.Statement.SemanticError Cannot merge the following node because of null property value for 'workId': (:Work {workId: null}) (Failure when processing file '/D:/Neo4j/neo4j-community-5.13.0-windows/neo4j-community-5.13.0/import/node_work.csv' on line 2.)。

文件内容:

在执行

// 导入accidenCategory节点

LOAD CSV WITH HEADERS FROM "file:///node_accidentCategory.csv" AS row

MERGE (ac:accidentCategory {accidentCategory: row.accidentCategoryId, accidentCategoryName: row.accidentCategoryName}); 之后,返回结果Added 5 labels, created 5 nodes, set 10 properties, completed after 9 ms.

文件内容:

第一次迟迟解决不了的原因是觉得二者的区别node_work.csv之前的文件在import中被我删掉重新又放进来,node_accident.csv是第一次导入到import中,报错的原因跟这个有关

后来发现是我的CSV文件数据有问题,报错的文件列名多了一个标签:ID,去掉即可。

注意:这个错误将MERGE换成CREATE是治标不治本,看着是不报错,将节点导入到数据库中了,但是CREATE会自动省略workId这一列。是不解决问题的,并且会给后边导入关系节点造成很大的麻烦。

错误示范:(自动忽略XXId列)

正确示范:(包含XXXId列)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值