8

我需要从我的图表中删除一些节点属性。按照密码指南,我尝试了以下方法:

START n=node(1)
DELETE n.property
RETURN n

我收到一条错误消息:

Expression `Property` yielded `true`. Don't know how to delete that.

我可以在 console.neo4j.org 上复制它。你应该如何删除节点的属性?

4

3 回答 3

14

你用的是什么版本的 Neo4j?自 Neo4j 2.0 以来(我不确定究竟是什么里程碑,用 M03 尝试过),属性不再“删除”而是“删除”:

START n=node(1)
REMOVE n.property
RETURN n

应该适用于 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 )现在确实列出了“删除属性”部分。

于 2013-08-02T07:45:19.147 回答
12

只是另一个例子。

对于Neo4j 3.0,给定具有属性键、名称和年龄的节点,删除年龄属性也是有效的:

创建节点:

CREATE (n {name:'Andres', age:25}) return n

删除属性键年龄:

MATCH (andres { name: 'Andres' }) REMOVE andres.age RETURN andres

来自 Neo4j 3.0 文档https://neo4j.com/docs/developer-manual/current/cypher/#query-remove

于 2016-10-06T13:59:32.873 回答
0

当您想要从节点之间的多个关系中删除关系属性时。

MATCH (a:Application {name:'A'})-[r:REQUEST_TO]-(d:Application {name:'B'})
WHERE ID(r) = 684
REMOVE r.property
于 2020-10-07T08:02:53.733 回答