CQL代表Cypher查询语言。 像Oracle数据库具有查询语言SQL,Neo4j具有CQL作为查询语言。
Neo4j CQL -
它是Neo4j图形数据库的查询语言。
它是一种声明性模式匹配语言
它遵循SQL语法。
它的语法是非常简单且人性化、可读的格式。
命令语法
CREATE (:)
语法说明
语法元素 | 描述 |
---|---|
CREATE | 它是一个Neo4j CQL命令。 |
node-name | 它是我们要创建的节点名称。 |
label-name | 它是一个节点标签名称 |
注意事项 -
1、Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
2、Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。
例子:
create (s:苏轼)
点击运行
运行成功
它显示在 Neo4j 数据库中创建一个标签和一个节点。 它在数据库中创建一个带有标签名“苏轼”的节点“s”。
Neo4j CQL创建具有属性的节点
Neo4j CQL“CREATE”命令用于创建带有属性的节点。 它创建一个具有一些属性(键值对)的节点来存储数据。
命令语法:
CREATE (
:
{
:
........
:
}
)
语法说明:
语法元素 | 描述 |
---|---|
node-name | 我们将要创建的节点名称。 |
label-name | 它是一个节点标签名称 |
属性是键值对。 定义将分配给创建节点的属性的名称 | |
Property1-value>…属性是键值对。 定义将分配给创建节点的属性的值 |
|
例子
CREATE (s:苏轼 { name:"苏轼",时期:"宋朝" })
Neo4j CQL MATCH命令用于 -
MATCH
(
:
)
语法说明
语法元素 | 描述 |
---|---|
这是我们要创建一个节点名称。 |
|
这是一个节点的标签名称 |
|
注意事项 -
Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。
注意-我们不能单独使用MATCH Command从数据库检索数据。 如果我们单独使用它,那么我们将InvalidSyntax错误。
比如
我们需要配合return使用
RETURN命令语法:
RETURN
.,
...
.
语法说明:
语法元素 | 描述 |
---|---|
它是我们将要创建的节点名称。 |
|
属性是键值对。 定义将分配给创建节点的属性的名称 |
|
根据属性图模型,关系应该是定向的。 否则,Neo4j将抛出一个错误消息。
基于方向性,Neo4j关系被分为两种主要类型。
在以下场景中,我们可以使用Neo4j CQL CREATE命令来创建两个节点之间的关系。 这些情况适用于Uni和双向关系。
我们以没有属性的关系与现有节点为例
我们再创建一个节点
现在我们把现有的两个节点连接起来
语法:
MATCH (:),(:)
CREATE
()-[:]->()
RETURN
语法说明:
S.No. | 语法元素 | 描述 |
---|---|---|
1. | MATCH,CREATE,RETURN | 他们是Neo4J CQL关键字。 |
2. | 它用于创建关系的“From Node”的名称。 |
|
3. | 它用于创建关系的“From Node”的标签名称。 |
|
4. | 它用于创建关系的“To Node”的名称。 |
|
5. | 它用于创建关系的“To Node”的标签名称。 |
|
6. | 这是一个关系的名称。 |
|
7. | 它是一个关系的标签名称。 |
|
注意:
在此语法中,RETURN子句是可选的。 如果我们想立即看到结果,那么使用它。 否则,我们可以省略这个子句。
创建完成后,可以在左侧关系中查找
Neo4j使用CQL DELETE子句
DELETE节点子句语法
DELETE
S.No. | 语法元素 | 描述 |
---|---|---|
1. | DELETE | 它是一个Neo4j CQL关键字。 |
2. | 它是一个要从数据库中删除的节点名称列表。 |
|
注意 -
我们应该使用逗号(,)运算符来分隔节点名。
创建一个新的节点
create (a:苏辙)
删除带关系的节点
如果我们直接删除带关系的节点会报错,比如我们删除之前的苏轼节点
DELETE节点和关系子句语法
DELETE ,,
S.No. | 语法元素 | 描述 |
---|---|---|
1. | DELETE | 它是一个Neo4j CQL关键字。 |
2. | 它是用于创建关系的一个结束节点名称。 |
|
3. | 它是用于创建关系的另一个节点名称。 |
|
4. | 它是一个关系名称,它在和之间创建。 |
|
注意 -
我们应该使用逗号(,)运算符来分隔节点名称和关系名称。
MATCH (s: 苏轼)-[r:师徒]-(o:欧阳修) delete s,r,o
有时,根据我们的客户端要求,我们需要向现有节点或关系添加新属性。
要做到这一点,Neo4j CQL 提供了一个SET子句。
Neo4j CQL 已提供 SET 子句来执行以下操作。
SET子句语法
SET
S.No. 语法元素 | 描述 |
---|---|
1 SET | 它是一个 Neo4j 的 CQL 关键字。 |
2 它是一个属性列表,用于执行添加或更新操作以满足我们的要求。 |
|
<属性名称列表>语法:
.,
.,
....
.
语法说明:
S.No. 语法元素 | 描述 |
---|---|
1 <节点标签名称> 这是一个节点的标签名称。 |
|
2 <属性名称> 它是一个节点的属性名。 |
|
注意 -
我们应该使用逗号(,)运算符来分隔属性名列表。
先创建一个属性
create(s:苏轼 { name:"苏轼",身份:"文学家" })
match(s:苏轼)
set s.时期="宋朝"
return s
修改:
match(s:苏轼)
set s.身份="词人"
return s