Neo4j - CQL语法介绍
一、CQL语法简介

1.1 Neo4j CQL命令/条款

1.2 Neo4j CQL 函数

1.3 Neo4j CQL数据类型

二、CREATE+MATCH+RETURN命令
2.1 CREATE命令
Neo4j使用CQL“CREATE”命令
-
创建没有属性的节点
-
使用属性创建节点
-
在没有属性的节点之间创建关系
-
使用属性创建节点之间的关系
-
为节点或关系创建单个或多个标签
Neo4j CQL创建一个没有属性的节点
Neo4j CQL“CREATE”命令用于创建没有属性的节点。 它只是创建一个没有任何数据的节点。
CREATE命令语法
CREATE (<node-name>:<label-name>)

注意事项 -
1、Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
2、Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。
例如:
本示例演示如何创建一个简单的“Employee”节点。 按照以下步骤:
步骤1 - 打开Neo4j数据浏览器

步骤2 - 在数据浏览器中的美元提示符下键入以下命令。
CREATE (emp:Employee)
这里 emp 是一个节点名
Employee 是 emp 节点的标签名称

步骤3 - 单击执行按钮,并在数据浏览器中看到成功消息。

它显示在 Neo4j 数据库中创建一个标签和一个节点。 它在数据库中创建一个带有标签名“Employee”的节点“emp”。
例如:
本示例演示如何创建一个简单的“Dept”节点。 按照以下步骤:
步骤1 - 打开Neo4j数据浏览器。

步骤2 - 在数据浏览器中的美元提示符下键入以下命令。
CREATE (dept:Dept)
这里dept是一个节点名
Dept是dept节点的标签名称

步骤3 - 单击执行按钮,并在数据浏览器中看到成功消息。

它显示在Neo4j数据库中创建一个标签和一个节点。 它在数据库中创建一个标签名为“Dept”的节点“dept”。
Neo4j CQL创建具有属性的节点
Neo4j CQL“CREATE”命令用于创建带有属性的节点。 它创建一个具有一些属性(键值对)的节点来存储数据。
CREATE命令语法:
CREATE (
<node-name>:<label-name>
{
<Property1-name>:<Property1-Value>
........
<Propertyn-name>:<Propertyn-Value>
}
)

例如:
此示例演示如何创建具有一些属性(deptno,dname,位置)的Dept节点。 按照下面给出的步骤 -
步骤1 - 打开Neo4j数据浏览器。
步骤2 - 在数据浏览器中的dollar提示符下键入以下命令。
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
这里dept是一个节点名
Dept是dept节点的标签名称

这里的属性名称是deptno,dname,location
属性值为10,“Accounting”,“Hyderabad”
正如我们讨论的,属性一个名称 - 值对。
Property = deptno:10
因为deptno是一个整数属性,所以我们没有使用单引号或双引号定义其值10。
由于dname和location是String类型属性,因此我们使用单引号或双引号定义其值10。
注意 - 要定义字符串类型属性值,我们需要使用单引号或双引号。
步骤3 -单击执行按钮,并在数据浏览器中查看成功消息。

在数据浏览器中查看成功消息
如果你观察到成功的消息,它告诉我们
创建一个标签,即“Dept”
创建一个节点,即“dept”
创建三个属性,即deptno,dname,location
例如:
此示例演示如何创建具有一些属性(id,name,sal,deptno)的Employee节点。 按照下面给出的步骤 -
步骤1 -打开Neo4j数据浏览器。
步骤2 -在数据浏览器中的dollar提示符下键入以下命令。
CREATE (emp:Employee{id:123,name:"Lokesh",sal:35000,deptno:10})
这里emp是一个节点名
Employee是emp节点的标签名称

步骤3 - 单击执行按钮,并在数据浏览器中看到成功消息。

观察成功消息
添加了1个标签,创建了1个节点,设置了4个属性,返回0行
此命令已创建一个具有4个属性(“id”,“name”,“sal”,“deptno”)的节点“emp”,并分配了一个标签“Employee”。
2.2 MATCH命令
Neo4j CQL MATCH 命令用于
- 从数据库获取有关节点和属性的数据
- 从数据库获取有关节点,关系和属性的数据
MATCH 命令语法:
MATCH
(
<node-name>:<label-name>
)

注意事项 -
-
Neo4j 数据库服务器使用此 将此节点详细信息存储在 Database.As 中作为 Neo4j DBA 或 Developer,我们不能使用它来访问节点详细信息。
-
Neo4j 数据库服务器创建一个 作为内部节点名称的别名。作为 Neo4j DBA 或 Developer,我们应该使用此标签名称来访问节点详细信息。
注意-我们不能单独使用 MATCH Command 从数据库检索数据。 如果我们单独使用它,那么我们将 InvalidSyntax 错误。
例如:
这个例子演示了“如果我们单独使用 MATCH 命令从数据库检索数据会发生什么”。 按照下面给出的步骤 -
步骤1 -打开 Neo4j 的数据浏览器。
步骤2 -在数据浏览器的 dollar 提示符处键入以下命令。
MATCH (dept:Dept)
这里 -
dept 是节点名称
Dept 是 dept 节点的标签名称

第3步 -单击执行按钮,并在数据浏览器中看到的是错误的消息

如果你观察到错误消息,它告诉我们,MATCH 经常需要与其他的语句配合才可以使用.
如:match (n) return n
# 查询Dept下的内容
MATCH (dept:Dept) return dept
# 查询Employee标签下 id=123,name="Lokesh"的节点
MATCH (p:Employee {id:123,name:"Lokesh"}) RETURN p
## 查询Employee标签下name="Lokesh"的节点,使用(where命令)
MATCH (p:Employee)
WHERE p.name = "Lokesh"
RETURN p
2.3 RETURN子句
Neo4j CQL RETURN子句用于 -
- 检索节点的某些属性
- 检索节点的所有属性
- 检索节点和关联关系的某些属性
- 检索节点和关联关系的所有属性
RETURN命令语法:
RETURN
<node-name>.<property1-name>,
........
<node-name>.<propertyn-name>

例如:
本示例演示了“如果我们单独使用RETURN命令从数据库检索数据,会发生什么”。 按照下面给出的步骤 -
步骤1 -打开Neo4j的数据浏览器。
步骤2 -在数据浏览器的dollar提示符处键入以下命令。
RETURN dept.deptno
这里 -
dept是节点名称
deptno是dept节点的属性名称

第3步 -单击执行按钮,并在数据浏览器中看到成功消息。

如果您发现该错误消息(如上图所示),它告诉我们,我们不能单独使用RETURN子句。我们应该使用MATCH或CREATE命令。
2.4 MATCH & RETURN匹配和返回
在Neo4j CQL中,我们不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令以从数据库检索数据。
Neo4j使用CQL MATCH + RETURN命令 -
- 检索节点的某些属性
- 检索节点的所有属性
- 检索节点和关联关系的某些属性
- 检索节点和关联关系的所有属性
MATCH RETURN命令语法:
MATCH Command
RETURN Command

要点 -
Neo4j数据库服务器使用此将此节点详细信息存储在Database.As中作为Neo4j DBA或Developer,我们不能使用它来访问节点详细信息。
Neo4j数据库服务器创建一个作为内部节点名称的别名。作为Neo4j DBA或Developer,我们应该使用此标签名称来访问节点详细信息。
RETURN命令语法:
RETURN
<node-name>.<property1-name>,
...
<node-name>.<propertyn-name>

例如:
本示例演示如何从数据库检索Dept节点的一些属性(deptno,dname)数据。
注-结点包含3个属性:deptno,dname,location。 然而在这个例子中,我们感兴趣的是只查看两个属性数据。 按照下面给出的步骤 -
步骤1 -打开Neo4j的数据浏览器。
步骤2 -在数据浏览器中的dollar提示符下键入以下命令。
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname
这里 -
- dept是节点名称
- 这里Dept是一个节点标签名
- deptno是dept节点的属性名称
- dname是dept节点的属性名

第3步 -单击执行按钮,并在数据浏览器中看到成功消息。

如果观察到数据浏览器消息,它将显示有关两个属性的Dept节点的数据:deptno,dname。 它返回Neo4j数据库中可用的两个节点(行)。
例如:
本示例演示如何从数据库检索Dept Node的所有属性(deptno,dname,location)数据。
注-结点包含3个属性:deptno,dname,location。 按照下面给出的步骤 -
步骤1 -打开Neo4j数据浏览器。

它是Neo4j数据浏览器主页
步骤2 -在数据浏览器中的dollar提示符下键入以下命令。
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname,dept.location
这里 -
- dept是节点名称
- 这里Dept是一个节点标签名
- deptno是dept节点的属性名称
- dname是dept节点的属性名
- location是dept节点的属性名

步骤3 -单击执行按钮,并在数据浏览器中看到成功消息。

它返回Dept节点的所有属性数据。 由于数据库包含两个具有相同名称“dept:Dept”的节点,因此在执行此命令时,它将返回这两行。
例如:
此示例演示如何从数据库检索Dept节点的数据,而无需指定其属性。
注-结点包含3个属性:deptno,dname,location。 按照下面给出的步骤 -
步骤1 -打开Neo4j数据浏览器。
步骤2 -在数据浏览器中的dollar提示符下键入以下命令。
MATCH (dept: Dept)
RETURN dept
这里dept是一个节点名
这里Dept是一个节点标签名

步骤3 -单击执行按钮,并在数据浏览器中看到成功消息

在这里我们可以观察到两个圆圈与UI模式的一些ids
ID = 3215显示一个节点
ID = 25显示了另一个节点
当我们执行“RETURN”子句而不指定任何属性列表,如“RETURN dept”
默认情况下,它在UI模式下显示结果。
步骤4 -单击网格视图按钮以网格格式查看两行。

2.5 CREATE+MATCH+RETURN命令
在Neo4j CQL中,我们不能单独使用MATCH或RETURN命令,因此我们应该结合这两个命令从数据库检索数据。
例如:
本示例演示如何使用属性和这两个节点之间的关系创建两个节点。
注-我们将创建两个节点:客户节点 (Customer) 和信用卡节点 (CreditCard)。
-
客户节点包含:ID,姓名,出生日期属性
-
CreditCard节点包含:id,number,cvv,expiredate属性
-
客户与信用卡关系:DO_SHOPPING_WITH
-
CreditCard到客户关系:ASSOCIATED_WITH
我们将在以下步骤中处理此示例: -
- 创建客户节点
- 创建CreditCard节点
- 观察先前创建的两个节点:Customer和CreditCard
- 创建客户和CreditCard节点之间的关系
- 查看新创建的关系详细信息
- 详细查看每个节点和关系属性
注-我们将在本章讨论前三个步骤。我们将在以后的章节中讨论其余的步骤
创建客户节点
步骤1 -打开Neo4j数据浏览器。

步骤2
-在数据浏览器中的dollar提示符下键入以下命令。
CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
这里 -
- e是节点名称
- 在这里Customer是节点标签名称
- id,name和dob是Customer节点的属性名称

步骤3
-单击执行按钮创建具有3个属性的客户节点。

创建CreditCard节点
步骤1 -打开Neo4j数据浏览器。
步骤2 -在数据浏览器中的美元提示符下键入以下命令。
CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
这里cc是一个节点名
这里CreditCard是节点标签名称
id,number,cvv和expiredate是CreditCard节点的属性名称

步骤3
-单击执行按钮创建具有4个属性的CreditCard节点。

如果您观察到数据浏览器消息,它显示在Neo4j数据库中创建一个带有4个属性的节点。
观察节点
现在我们创建了两个节点:Customer和CreditCard
我们需要使用带有RETURN子句的Neo4j CQL MATCH命令查看这两个节点的详细信息
查看客户节点详细信息
步骤1 -打开Neo4j数据浏览器
步骤2 -在数据浏览器中的美元提示符下键入以下命令。
MATCH (e:Customer)
RETURN e.id,e.name,e.dob
这里e是节点名
在这里Customer是节点标签名称
id,name和dob是Customer节点的属性名称

步骤3 -单击Execute按钮运行此命令。

如果您观察到数据浏览器消息,则显示在Neo4j数据库中创建具有3个属性的客户节点。
查看CreditCard节点详细信息
步骤1 -打开Neo4j数据浏览器
步骤2 -在数据浏览器中的dollar提示符下键入以下命令。
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.cvv,cc.expiredate
这里cc是一个节点名
这里CreditCard是节点标签名称
id,number,cvv,expiredate是CreditCard节点的属性名称

步骤3 -单击Execute按钮运行此命令。

如果您观察到数据浏览器消息,则会显示在Neo4j数据库中创建了4个属性的CreditCard节点。
本文介绍了Neo4j的CQL语言基础,包括创建节点与关系、MATCH与RETURN命令的用法,展示了如何通过CREATE+MATCH+RETURN进行数据操作和查询。重点讲解了如何创建带有属性的节点、使用标签以及在实际场景中的应用示例。
1654

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



