Appearance
属性操作
设置属性
基本语法
cypher
// 为节点设置属性
MATCH (节点变量:标签)
WHERE 条件
SET 节点变量.属性 = 值
// 为关系设置属性
MATCH (源节点)-[关系变量:关系类型]->(目标节点)
WHERE 条件
SET 关系变量.属性 = 值示例
设置单个属性
cypher// 为节点设置属性 MATCH (p:Person {name: 'John'}) SET p.age = 31 RETURN p // 为关系设置属性 MATCH (a:Person {name: 'John'})-[r:FRIENDS_WITH]->(b:Person {name: 'Alice'}) SET r.since = 2010 RETURN r设置多个属性
cypherMATCH (p:Person {name: 'John'}) SET p.age = 31, p.email = 'john.doe@example.com', p.city = 'New York' RETURN p使用映射设置属性
cypherMATCH (p:Person {name: 'John'}) SET p = {name: 'John Doe', age: 31, email: 'john.doe@example.com'} RETURN p合并属性
cypherMATCH (p:Person {name: 'John'}) SET p += {age: 31, email: 'john.doe@example.com'} RETURN p使用参数设置属性
cypherMATCH (p:Person {name: 'John'}) SET p = $personProperties RETURN p // 参数示例: {personProperties: {age: 31, email: 'john.doe@example.com'}}
查询属性
基本语法
cypher
MATCH (节点变量:标签)
WHERE 条件
RETURN 节点变量.属性
MATCH (源节点)-[关系变量:关系类型]->(目标节点)
WHERE 条件
RETURN 关系变量.属性示例
查询单个属性
cypherMATCH (p:Person {name: 'John'}) RETURN p.name, p.age查询所有属性
cypherMATCH (p:Person {name: 'John'}) RETURN p根据属性值查询
cypherMATCH (p:Person) WHERE p.age > 25 RETURN p.name, p.age查询关系属性
cypherMATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) RETURN a.name, r.since, b.name使用属性进行计算
cypherMATCH (p:Person) RETURN p.name, p.age, p.age * 12 AS months_old
更新属性
基本语法
cypher
MATCH (节点变量:标签)
WHERE 条件
SET 节点变量.属性 = 新值
MATCH (源节点)-[关系变量:关系类型]->(目标节点)
WHERE 条件
SET 关系变量.属性 = 新值示例
更新单个属性
cypherMATCH (p:Person {name: 'John'}) SET p.age = p.age + 1 RETURN p基于其他属性更新
cypherMATCH (p:Person) SET p.full_name = p.first_name + ' ' + p.last_name RETURN p条件更新
cypherMATCH (p:Person) WHERE p.age >= 18 SET p.status = 'adult' RETURN p更新关系属性
cypherMATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) WHERE r.since < 2010 SET r.status = 'long-term' RETURN r
删除属性
基本语法
cypher
MATCH (节点变量:标签)
WHERE 条件
REMOVE 节点变量.属性
MATCH (源节点)-[关系变量:关系类型]->(目标节点)
WHERE 条件
REMOVE 关系变量.属性示例
删除单个属性
cypherMATCH (p:Person {name: 'John'}) REMOVE p.age RETURN p删除多个属性
cypherMATCH (p:Person {name: 'John'}) REMOVE p.age, p.email RETURN p删除关系属性
cypherMATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) REMOVE r.since RETURN r条件删除属性
cypherMATCH (p:Person) WHERE p.age IS NULL REMOVE p.age RETURN p
小结
属性操作是管理节点和关系数据的重要部分,通过属性可以存储和查询详细的信息。通过本文的介绍,您应该掌握了属性操作的基本语法和技巧。在接下来的章节中,我们将介绍基础查询技巧,这是使用 Cypher 进行数据查询的核心内容。