Neo4j CQL常用关系操作与查询技巧汇总
需积分: 50 200 浏览量
更新于2024-09-10
3
收藏 3KB TXT 举报
Neo4j 是一款强大的图形数据库,主要用于存储和处理复杂的关系数据。本文档提供了一份关于 Neo4j 常用 Cypher(CQL)语句的汇总,这些语句涵盖了关系查询、创建和修改关系、查询关系类型以及执行更高级的数据筛选和排序操作。
**关系查询**
- `MATCH`: 这是查询语句的核心部分,用于找到符合特定条件的节点和关系。例如:
- `match(n:Data{name:"一些数据"})-[:包含]->(m:Data{name:"aaaa"})` 用于查找具有特定属性且存在包含关系的节点。
- `match(n:Data{name:'数据'}),(m:BigData{name:'大数据'})create(n)-[:rel]->(m)` 创建一个新的关系。
- **别名**: 使用 `as` 关键字可以为关系类型定义别名,如 `matchp=(n:Data{name:'数据'})-[role:包含]->(m:Data{name:'数据1'})return p`,`role` 为包含关系的别名。
- **创建关系**: `CREATE` 语句用于添加新的节点和关系,如 `match(n:Data{name:'qqq'}) create(m:Data{name:'qq'}) create(n)-[:包含]->(m)`,表示在已有节点间创建包含关系。
- **访问关系**: `MATCH p=()-[r:rel]->()` 查询两个节点之间的关系路径。
- **查询关系类型**: `RETURN type(r)` 或 `MATCH(n:BigData)-->(m:Data{name:'大数据'}) return type(r)` 分别用于获取指定关系的类型。
- **查询所有关系**: `MATCH (:Data{name:'QQQ'})-[r:包含]->(Data) RETURN Data;` 可以获取一个节点的所有关系。
- **查询节点属性和关系**: `MATCH(n:Data)-[r]->(m:Data) return n.name, m.name, type(r)` 显示两个节点的名字和它们之间的关系类型。
- **高级查询**: 包括范围查询 (`WHERE` 子句),如根据节点属性过滤结果 (`where '数据分析' in n.name`),以及聚合函数(`count(*)`, `sum`, `avg`, `min`, `max`)的使用。
- **排序和分页**: `ORDER BY cdesc` 对结果进行降序排序,`skip 0` 跳过前几条记录,`limit 1` 设置返回结果的数量,如 `MATCH(n:BigD`。
这些语句展示了如何在实际开发中灵活运用 Neo4j 的查询语言来处理和检索数据。了解和掌握这些基础和进阶的 Cypher 语句,对于在 Neo4j 中构建和管理复杂的图数据库至关重要。无论是数据的读取、分析还是维护,都可以通过组合这些语法实现高效的工作流程。
2021-05-30 上传
2023-09-11 上传
点击了解资源详情
2023-04-05 上传
2021-01-07 上传
2023-03-22 上传
2018-07-03 上传
司空丶笑天
- 粉丝: 3
- 资源: 16
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器