我正在寻找一种方法来删除数据库中任何节点的每个属性,使用 Cypher 具有特定值。
Context
我从关系表中获取了一个包含大量 NULL 值的 csv 批量文件。LOAD CSV
将它们作为价值观。删除它们(用 csv 文件中的空“”替换它们)会导致相同的问题(没有值的属性)。尝试了很多(很多)Cypher 操作来丢弃 NULL 值,但没有任何效果。
通过谷歌搜索也无法在文档中找到任何内容。仅使用 Cypher 可以完成此操作吗?在我看来(尚未)支持。
Thanks.
怎么样(当你知道属性名称时):
MATCH (n:Label)
WHERE n.property = ''
REMOVE n.property;
MATCH (u:User)
WHERE u.age = ''
SET u.age = null;
如果您知道导入中包含哪些列,您可以执行以下操作
load csv with headers from "" as line
with line, case line.foo when '' then null else line.foo end as foo
create (:User {name:line.name, foo:foo})
它不会创建带有 null 的属性。
对于数字值,更容易,因为 toInt() 和 toFloat() 对于不可解析的值(如 '')返回 null。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)