如何在现有节点中添加属性 Neo4j Cypher?

31

我创建了一个标记为“User”的新节点。

CREATE (n:User)

我想给我的用户节点添加一个名字属性,我尝试了:

MATCH (n { label: 'User' })
SET n.surname = 'Taylor'
RETURN n

但似乎它没有影响。

我怎样才能向一个已经创建的节点添加属性?

非常感谢您。


@Rolf,非常抱歉,我刚刚才看到你的评论 :) - Kanishka Panamaldeniya
1个回答

56

您的标签匹配有误,查询应为:

MATCH (n:User)
SET n.surname = 'Taylor'
RETURN n
你所写的是:"匹配标签属性为User的用户"。 Label不是一个属性,它是一个单独的概念。 正如迈克尔所提到的,如果你想匹配具有特定属性的节点,有两个选择:
MATCH (n:User {surname: 'Some Surname'})
或者:
MATCH (n:User)
WHERE n.surname = 'Some Surname'

现在是组合:

MATCH (n:User {surname: 'Some Surname'})
SET n.surname = 'Taylor'
RETURN n

太好了。它正在运行,我还想为名为“user”的单个节点添加姓氏属性,使用ID,请也帮我一下。非常感谢。 - Kanishka Panamaldeniya
匹配(n:用户)其中n.firstname ='Andres' SET n.surname ='Taylor' 返回n - Michael Hunger
1
MATCH (n:User {firstname:'Andres'}) SET n.surname = 'Taylor' RETURN n - Michael Hunger
我想使用CSV文件在现有节点中添加新属性,该怎么做?我尝试了以下代码,但它没有起作用 - USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM "http://192.168.11.121/movie-reco-db/person_node.csv" AS row MATCH (n:Person) SET n.appId = row.app_id RETURN n - Sachin Vairagi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接