我需要从图表中删除一些节点属性.按照密码指南,我尝试了以下方法:
START n=node(1)
DELETE n.property
RETURN n
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
Expression `Property` yielded `true`. Don't know how to delete that.
Run Code Online (Sandbox Code Playgroud)
我可以在console.neo4j.org上复制这个.你应该如何删除节点的属性?
khi*_*ras 13
您使用的是什么版本的Neo4j?由于Neo4j 2.0(我不确定具体是什么里程碑,用M03试过),属性不再被"删除",而是"删除":
START n=node(1)
REMOVE n.property
RETURN n
Run Code Online (Sandbox Code Playgroud)
应该与Neo4j 2.x一起使用.
这也反映在文档中.在页面的右侧(可能在一些加载时间之后),您有一个用于选择Neo4j版本的下拉菜单.当您转到DELETE文档并选择2.0.0-M03里程碑时,您会注意到"删除属性"菜单点消失了(链接到DELETE上的M03文档:http://docs.neo4j.org/chunked /2.0.0-M03/query-delete.html).
相反,REMOVE上的2.0.0-M03文档(此处:http://docs.neo4j.org/chunked/2.0.0-M03/query-remove.html)现在列出了"删除属性"部分.
小智 11
再举一个例子.
对于Neo4j 3.0,给定一个带有属性键,名称和年龄的节点,删除age属性也是有效的:
创建节点:
CREATE (n {name:'Andres', age:25}) return n
Run Code Online (Sandbox Code Playgroud)
删除属性键年龄:
MATCH (andres { name: 'Andres' }) REMOVE andres.age RETURN andres
Run Code Online (Sandbox Code Playgroud)
来自Neo4j 3.0文档https://neo4j.com/docs/developer-manual/current/cypher/#query-remove