1. 文章
  2. 文章详情

Neo4j CQL - 更新图数据库

set子句,用于对更新节点的标签和实体的属性;remove子句用于移除实体的属性和节点的标签。

1,创建一个完整的Path

由于Path是由节点和关系构成的,当路径中的关系或节点不存在时,Neo4j会自动创建;

CREATE p =(vic:Worker:Person{ name:'vic',title:"Developer" })-[:WORKS_AT]->(neo)<-[:WORKS_AT]-(michael:Worker:Person { name: 'Michael',title:"Manager" })
RETURN p

变量neo代表的节点没有任何属性,但是,其有一个ID值,通过ID值为该节点设置属性和标签

2,为节点增加属性

通过节点的ID获取节点,Neo4j推荐通过where子句和ID函数来实现。

match (n)
where id(n)=7
set n.name = 'neo'
return n;

3,为节点增加标签

match (n)
where id(n)=7
set n:Company
return n;

4,为关系增加属性

match (n)<-[r]-(m)
where id(n)=7 and id(m)=8
set r.team='Azure'
return n;

Neo4j CQL 已提供 SET 子句来执行以下操作。

  • 向现有节点或关系添加新属性
  • 添加或更新属性值

SET子句语法

SET property-name-list
语法元素 描述
SET 它是一个 Neo4j 的 CQL 关键字。
property-name-list 它是一个属性列表,用于执行添加或更新操作以满足我们的要求。

<属性名称列表>语法

node-label-name.property1-name,
node-label-name.property2-name, 
.... 
node-label-name.propertyn-name

语法说明:

语法元素 描述
node-label-name
节点标签名称
这是一个节点的标签名称。
property-name
属性名称
它是一个节点的属性名。

注意 -

我们应该使用逗号(,)运算符来分隔属性名列表。

查询

MATCH (book:Book)
RETURN book

修改属性

MATCH (book:Book)
SET book.title = 'superstar'
RETURN book

这里我们可以观察到新的属性被添加到“book”节点。

发表评论

登录后才能评论

评论列表(0条)