Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j Cypher-删除具有特定值的所有属性_Neo4j_Cypher - Fatal编程技术网

Neo4j Cypher-删除具有特定值的所有属性

Neo4j Cypher-删除具有特定值的所有属性,neo4j,cypher,Neo4j,Cypher,我正在寻找一种方法来删除数据库中任何节点的每个属性,使用Cypher删除具有特定值的属性 上下文 我从一个包含大量空值的关系表中获得了一个csv批量文件加载CSV将它们作为值显示。删除它们(将它们替换为csv文件中的空“”)会导致相同的问题(属性没有值)。尝试了许多(许多)密码操作以丢弃空值,但没有任何效果 通过谷歌搜索也无法在文档中找到任何内容。这可以只用密码吗?在我看来,这似乎还没有得到支持 谢谢。不,只有chypher没有办法做到这一点。我想你已经看过了。这是目前最好的解决方案。如果您知道

我正在寻找一种方法来删除数据库中任何节点的每个属性,使用Cypher删除具有特定值的属性

上下文
我从一个包含大量空值的关系表中获得了一个csv批量文件<代码>加载CSV将它们作为值显示。删除它们(将它们替换为csv文件中的空“”)会导致相同的问题(属性没有值)。尝试了许多(许多)密码操作以丢弃空值,但没有任何效果

通过谷歌搜索也无法在文档中找到任何内容。这可以只用密码吗?在我看来,这似乎还没有得到支持


谢谢。

不,只有chypher没有办法做到这一点。我想你已经看过了。这是目前最好的解决方案。

如果您知道属性名称,您会怎么做:

如果您知道这些列在导入中,您可以执行类似的操作

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。

不,我还没有处理REST请求,但这并没有回答问题。如何指定要删除的属性的值?例如,删除所有以“foo”作为值的属性?我认为问题在于删除具有特定值的属性,无论它们位于哪个节点,而不是删除节点上的所有属性。要使用cypher删除节点上的所有属性,可以使用
SET n={}
。您不知道属性名称吗?无论您在用空字符串替换空值时做了什么(您必须以某种方式匹配了正确的节点和属性),您是否可以再次执行该操作,但要执行
REMOVE n.property
而不是
SET n.property=''
?我在csv文件中将“null”替换为“”(查找并替换)。我说可能Cypher检测到空字符串并跳过相应的属性,但事实并非如此。因此,您想删除任何节点上的空字符串属性吗?有许多列,很难为每个列执行此操作。但既然没有别的办法,那我就接受了。谢谢@Michael。顺便说一句,我感谢你在SO和Google小组中做出的显著努力。使用你选择的编程语言循环浏览CSV的标题行并生成必要的案例语句。
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})