Skip to content

第三章 CQL语法 v1.0 ​

第一部分 创建相关语法 ​

一、创建(CREATE)命令 ​

1.创建节点 ​

<节点名/关系名>可以视为SQL中的别名,若使用不到可以不进行指定。

sql
#创建没有属性的节点
CREATE (<节点名>:<label>:<label2>:...)  //一个节点可以有多个标签
#创建有属性的节点
CREATE (<节点名>:<label>:<label2>:...{ 	
      <key>:<value>,  //属性
      ........
      <key>:<value>}
)
#创建有初始关系的节点
CREATE (<节点名1>:<relation-label>:...)-[<关系名>:<label>]->(<节点名2>:<label>:...)

2.创建关系 ​

sql
<MATCH子句>
CREATE  
	(<节点名1>)-[<关系名>:<relation-label>{<define-properties-list>}]->(<节点名2>)
<RETURN子句>  //用于获取返回的数据图
sql
//创建关系
MATCH(user1{name:"user1"}),(user2{name:"user2"}) 
CREATE(user1)-[:friend]->(user2)

第二部分 查找相关语法 ​

一、MATCH命令与RETURN命令 ​

1.查询节点 ​

在Neo4j CQL中,我们不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令以从数据库检索数据。

2.MATCH子句 ​

sql
//匹配节点
MATCH (<节点名>:<label>{<key>:<value>,...})
//匹配关系
MATCH <关系名>=(<节点名1>:<label>{...})-[<relation-label>]->(<节点名2>:<label>{...})

3.RETURN子句 ​

RETURN命令用于返回查看结果值,一般与MATCH命令同时使用

sql
//返回查询图
<MATCH子句>
RETURN <节点|关系名>

//返回查询节点属性
<MATCH子句>
RETURN <节点名>.<key>,<节点名>.<key>,...

二、WHERE子句 ​

WHERE子句可以跟在MATCH语句之后,进一步精细化查询

1.基本语法 ​

sql
WHERE <条件判断语句>[<布尔运算符><条件判断语句>...]
//常用WHERE语句示例
WHERE id(n)=<number>
WHERE n.name="name"

2.布尔运算符 ​

3.比较运算符 ​

第三部分 删除相关语法 ​

一、DELETE命令 ​

DELETE操作用于删除节点和关联关系,应该与MATCH命令一起使用。

1.删除节点 ​

sql
<MATCH子句>  //用于匹配需要删除的节点
DELETE <node-name>;
[<RETURN子句>]  //用于获取返回的数据图

2.删除关系 ​

sql
<MATCH子句>  //用于匹配需要删除的关系
DELETE <relationship-name>;
[<RETURN子句>]  //用于获取返回的数据图

二、REMOVE命令 ​

REMOVE操作用于删除标签和属性,应该与MATCH命令一起使用。

1.删除标签 ​

sql
<MATCH子句>  //用于匹配需要删除的标签
REMOVE <node-name>:<label-name>;
[<RETURN子句>]  //用于获取返回的数据图

2.删除节点属性 ​

sql
<MATCH子句>  //用于匹配需要删除的节点
REMOVE <node-name>.<property-name>[,...,<node-name>.<property-name>];
[<RETURN子句>]  //用于获取返回的数据图

第四部分 修改相关语法 ​

一、SET命令 ​

SET命令用于重新设置节点/属性的值,应该与MATCH命令一起使用。

1.修改节点属性值 ​

sql
<MATCH子句>  //用于匹配需要修改属性的节点
SET <node-name>.<propertyn-name>=<设置值>
[<RETURN子句>]  //用于获取返回的数据图

2.为节点添加标签 ​

sql
<MATCH子句>  //用于匹配需要修改属性的节点
SET <节点名>:<label>:<label2>:...
[<RETURN子句>]  //用于获取返回的数据图