目录
一.CQL简介
CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。
Neo4j CQL -
- 它是Neo4j图形数据库的查询语言。
- 它是一种声明性模式匹配语言
- 它遵循SQL语法。
- 它的语法是非常简单且人性化、可读的格式。
如Oracle SQL -
- Neo4j CQL 已命令来执行数据库操作。
- Neo4j CQL 支持多个子句像在哪里,顺序等,以非常简单的方式编写非常复杂的查询。
- NNeo4j CQL 支持一些功能,如字符串,Aggregation.In 加入他们,它还支持一些关系功能。
二.Neo4j CQL命令/条款
常用的Neo4j CQL命令/条款如下:
| S.No. |
CQL命令/条 |
用法 |
|---|---|---|
| 1。 |
CREATE 创建 |
创建节点,关系和属性 |
| 2。 |
MATCH 匹配 |
检索有关节点,关系和属性数据 |
| 3。 |
RETURN 返回 |
返回查询结果 |
| 4。 |
WHERE 哪里 |
提供条件过滤检索数据 |
| 5。 |
DELETE 删除 |
删除节点和关系 |
| 6。 |
REMOVE 移除 |
删除节点和关系的属性 |
| 7。 |
ORDER BY以…排序 |
排序检索数据 |
| 8。 |
SET 组 |
添加或更新标签 |
三、命令
3.1 、CREATE命令
Neo4j使用CQL“CREATE”命令
-
创建节点
-
使用关系
-
创建一个完整路径
-
创建索引
3.1.1 创建节点
Neo4j CQL创建一个没有属性的节点
CREATE (<node-name>:<label-name>)
语法说明
规范说法是节点标签名称,其实相当于Mysql数据库中的表名,而是节点名称,其实代指创建的此行数据。
示例
CREATE (emp:Employee) return emp 或者 CREATE (:Employee)
Neo4j CQL创建具有属性的节点
Neo4j CQL“CREATE”命令用于创建带有属性的节点。 它创建一个具有一些属性(键值对)的节点来存储数据。
CREATE (<node-name>:<label-name> {<key>:<Value>,...<n-key>:<n-Value>})
示例
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
创建带有多个标签的节点
CREATE (n:Person:Swedish)
返回创建的节点
| CREATE (a { name: 'Andres' }) RETURN a |
3.1.2 创建关系
注意:关系必须有箭头指向
创建两个节点之间的关系。
| //先创建2个节点 CREATE (n:Person {name: 'Node A'}),(m:Person {name: 'Node B'}) //查询节点并为其创建关系 MATCH (a:Person),(b:Person) WHERE a.name = 'Node A' AND b.name = 'Node B' CREATE (a)-[r:RELTYPE]->(b) RETURN r |
创建关系并为关系设置属性
| Match (a:Person {name:'Node A'}),(b:Person {name:'Node B'}) CREATE (a)-[r:RELTYPE { name: 'abc' }]->(b) RETURN r |
3.1.3、创建一个完整路径
当使用CREATE和模式时,模式中所有还不存在的部分都会被创建。
| create p = (m:Andres {name:'南京'})-[r:SHUYU]->(jiangsu:Andres {name:'江苏省'})<-[s:SHUYU]-(andres:Andres {name:'徐州'}) return p |
3.1.4、创建索引
CREATE INDEX ON :Person(name)
3.2 MATCH 命令
MATCH命令用于 -
- 从数据库获取有关节点和属性的数据
- 从数据库获取有关节点,关系和属性的数据
3.2.1、查询节点
查询所有节点
通过指定一个不带标签的节点的模式,图中的所有节点将返回。
| MATCH (n) RETURN n |

返回数据库中的所有节点。
查询带有某个标签的所有节点
通过指定带有一个标签的节点的模式,可以获取满足该标签的所有节点。
查询
| MATCH (movie:Movie) RETURN movie.title |
返回数据库中的所有电影。
查询关联节点
符号——意为相关的,这个关系不带有类型和方向。
| MATCH ({ name: 'Lilly Wachowski' })--(movie) RETURN movie.title |
返回’Lilly Wachowski’相关的所有电影。
匹配标签
可以为查询的节点增加标签约束。如下
| MATCH (:Person { name: 'Lilly Wachowski' })--(movie:Movie) RETURN movie.title |
返回与Person 'Oliver'相连的带有Movie标签的所有节点。
3.2.2 、查找关系
外向关系
关系的方向通过-->或者<--来表示。如:
| MATCH |

本文详细介绍Neo4j图形数据库的Cypher查询语言(CQL),涵盖CQL的基本概念、常用命令如CREATE、MATCH、RETURN及WHERE子句的使用方法,包括节点和关系的创建、查询、属性过滤等高级技巧。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



