Neo4j的Cypher查询与操作指南
需积分: 0 93 浏览量
更新于2024-08-03
收藏 8KB MD 举报
"Cypher增删改查.md"
Cypher是Neo4j图数据库系统中的一种强大的查询和更新语言,专为处理图数据而设计。它以其简洁的语法和高效的操作而闻名,用户可以通过Cypher执行复杂的图查询,无需关注底层实现细节。Cypher受到SQL的影响,但更专注于图形表示,使用ASCII艺术风格来表示图中的模式。
### Cypher的主要操作
#### 1. 查询(MATCH)
MATCH语句是Cypher中最基础的查询工具,用于定位图中的节点和关系。
**节点查询**
- **基本节点查找**:查询所有节点。
```cypher
MATCH (n)
RETURN n
```
- **按标签查找**:查找特定标签的节点。
```cypher
MATCH (n:标签)
RETURN n
```
- **按属性查找**:根据指定属性值查找节点。
```cypher
MATCH (n:标签 {属性名: '属性值'})
RETURN n
```
**关系查询**
- **所有关系**:获取图中的所有关系。
```cypher
MATCH r=()-[]->()
RETURN r
```
- **按标签查找关系**:查找特定标签的节点间的关系。
```cypher
MATCH r=(n:标签1)-[]->(m:标签2)
RETURN r
```
- **按属性查找关系**:根据关系属性值查找。
```cypher
MATCH r=(n:标签1 {属性名: '属性值'})-[]->()
RETURN r
```
#### 2. 插入(CREATE)
CREATE用于在图中创建新的节点和关系。
例如,创建一个名为`device`的节点:
```cypher
CREATE (:device {name: '设备1'})
```
创建一个`device`节点到`规定`节点的关系:
```cypher
CREATE (:device {name: '设备1'})-[:使用规定]->(:规定 {name: '规则1'})
```
#### 3. 更新(SET)
SET语句用于更新节点或关系的属性。
例如,更新`device`节点的`name`属性:
```cypher
MATCH (n:device {name: '设备1'})
SET n.name = '新设备1'
```
#### 4. 删除(DELETE)
DELETE用于移除图中的节点、关系,甚至整个模式。
删除一个节点及其所有关系:
```cypher
MATCH (n:device {name: '新设备1'})
DETACH DELETE n
```
删除一个关系:
```cypher
MATCH ()-[r]->()
WHERE r.type = '使用规定'
DELETE r
```
Cypher的灵活性和易读性使得它成为处理图数据的强大工具,无论是简单的查询还是复杂的图模式匹配,都能轻松应对。通过掌握Cypher,用户可以高效地管理和操作Neo4j中的图数据。
2021-07-14 上传
2021-04-27 上传
2020-06-19 上传
2019-09-18 上传
2020-03-10 上传
2020-09-04 上传
Zip(飞飞)
- 粉丝: 238
- 资源: 1
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查