Neo4j Cypher删除节点特定前缀属性的查询报错求助
修复你的Cypher属性移除查询
你遇到的问题是REMOVE子句的语法错误,Cypher需要明确知道你要移除哪个节点的哪个属性,而不是直接写变量名。让我帮你拆解问题并修正查询:
错误原因
原查询里的REMOVE key是问题核心:key只是存储属性名的变量,Cypher无法直接识别它要移除的是节点v上的对应属性,必须通过v[key]的形式来引用节点的动态属性。
修正后的查询
MATCH (v:Value) WHERE v.id = {valueId} UNWIND keys(v) AS key WITH v, key WHERE key CONTAINS 'property.' REMOVE v[key]
关键说明
UNWIND keys(v) AS key:把节点v的所有属性键展开到key变量中WHERE key CONTAINS 'property.':筛选出名称包含property.的属性键REMOVE v[key]:通过动态属性访问的方式,移除节点v上对应key的属性
修改后,查询就能正确执行,移除目标节点上所有符合条件的属性了。
内容的提问来源于stack exchange,提问作者alexanoid
相关产品推荐
相关产品推荐

