
OpenCypher 9 中文文档 PDF
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
《OpenCypher 9 中文文档》是一份全面介绍OpenCypher查询语言标准及其最新版本特性的PDF资料,旨在帮助用户掌握图数据查询技术。
### Cypher 图形查询语言知识点概述
#### 一、什么是Cypher?
Cypher 是一种声明式的图形查询语言,主要用于 Neo4j 图数据库中处理复杂的关系数据结构。它提供了一种直观的方式来操作图形中的节点、关系及其属性。
#### 二、查询和更新图形
使用 Cypher 可以执行复杂的查询及更新操作:
- **查询**:通过 `MATCH` 子句来匹配特定的模式,可以结合 `WHERE` 来进一步过滤结果。
- **更新**:
- 使用 `CREATE` 创建新的节点或关系;
- 用 `UPDATE` 更新现有节点或关系属性;
- 利用 `DELETE` 删除节点或关系;
- 借助 `REMOVE` 移除特定的属性。
#### 三、属性图模型
Cypher 的核心是基于“属性图”概念,该模型由两个主要部分组成:**节点(Node)** 和 **关系(Relationship)**。每个元素都可以包含键值对形式的额外信息即“属性”。
- 节点代表实体如人或地点。
- 关系表示连接两个节点的方式,例如朋友或者工作于等。
定义一个带有属性的节点和关系:
```cypher
创建具有特定标签及属性的节点:
CREATE (n:Person {name: Alice, age: 30})
创建带属性的关系:
MATCH (a:Person), (b:Person)
WHERE a.name = Alice AND b.name = Bob
CREATE (a)-[:FRIENDS {since: 2010}]->(b)
```
#### 四、模式
在 Cypher 中,**模式匹配** 是一个关键概念,它允许用户定义节点和关系之间的结构以更精确地查询图形数据。
- **基本操作**:使用 `MATCH` 子句来查找符合特定条件的节点或关系。
- **约束性规则**:确保某些类型的唯一性和其他结构特性不重复出现。
例如:
```cypher
查找自2015年以来建立的朋友关系,并返回相关的人名和交友年份:
MATCH (p:Person)-[r:FRIENDS]->(:Person)
WHERE r.since > 2015
RETURN p.name, r.since
创建独一无二的“朋友”关系:
CREATE UNIQUE (a:Person {name: Alice})-[:FRIENDS]->(b:Person {name: Bob})
查找所有年龄大于30岁的 Person 节点:
MATCH (p:Person)
WHERE p.age > 30
RETURN p.name, p.age
查询与 Alice 建立“朋友”关系的所有人:
MATCH (alice:Person {name: Alice})-[:FRIENDS]->(friend:Person)
RETURN friend.name
```
#### 五、总结
Cypher 是一种用于图形数据库的强大工具,它提供了一种简洁且直观的方式来查询和更新复杂的图形数据。通过理解属性图模型并灵活使用模式匹配技术,可以高效地处理各种复杂的数据结构问题。无论是简单的查询还是多步骤的操作,都可以用 Cypher 轻松实现。
全部评论 (0)


