Neo4j CQL语句 使用教程

CREATE命令 :

java 复制代码
CREATE (
   <node-name>:<label-name>
   { 	
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

字段说明

CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" }),使用此命令后,展示的Table信息如下:

java 复制代码
{
  "identity": 96,
  "labels": [
    "Dept"
  ],
  "properties": {
"location": "Hyderabad",
"deptno": 10,
"dname": "Accounting"
  }
}

MATCH命令

match 的命令语法:

java 复制代码
MATCH 
(
   <node-name>:<label-name>
)

使用 MATCH (dept:Dept) return dept 可以得到# RETURN 命令

RETURN命令语法:

java 复制代码
RETURN 
   <node-name>.<property1-name>,
   ........
   <node-name>.<propertyn-name>

return命令 不能单独使用

MATCH & RETURN匹配和返回

使用 MATCH (dept: Dept)

RETURN dept.deptno,dept.dname,dept.location得到:

CREATE+MATCH+RETURN命令

创建 CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})

查询 MATCH (cc:CreditCard)

RETURN cc.id,cc.number,cc.cvv,cc.expiredate

CREATE创建标签

语法 :

java 复制代码
CREATE (<node-name>:<label-name>)

使用CREATE (google1:GooglePlusProfile) 得到

多个标签到节点

语法:

java 复制代码
CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)

使用 CREATE (m:Movie:Cinema:Film:Picture)

单个标签到关系

语法 :

java 复制代码
CREATE (<node1-name>:<label1-name>)-
	[<relationship-name>:<relationship-label-name>]
	->(<node2-name>:<label2-name>)

例如 : CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)

WHERE子句

简单WHERE子句语法

WHERE <condition>

复杂WHERE子句语法

WHERE <condition> <boolean-operator> <condition>

我们可以使用布尔运算符在同一命令上放置多个条件。 请参考下一节,了解Neo4j CQL中可用的布尔运算符。

condition的语法:

java 复制代码
<property-name> <comparison-operator> <value>

Neo4j CQL中的布尔运算符

Neo4j CQL中的比较运算符

DELETE删除

  • 删除节点。
  • 删除节点及相关节点和关系
    语法 :
java 复制代码
DELETE <node-name-list>

MATCH (e: Employee) delete e

DELETE节点和关系子句语法

java 复制代码
DELETE <node1-name>,<node2-name>,<relationship-name>
java 复制代码
MATCH (cc: CreditCard)-[rel]-(c:Customer) 
DELETE cc,c,rel

REMOVE删除

Neo4j CQL REMOVE命令用于

  • 删除节点或关系的标签
  • 删除节点或关系的属性

Neo4j CQL DELETE和REMOVE命令之间的主要区别 -

  • DELETE操作用于删除节点和关联关系。
  • REMOVE操作用于删除标签和属性

Neo4j CQL DELETE和REMOVE命令之间的相似性 -

  • 这两个命令不应单独使用。
  • 两个命令都应该与MATCH命令一起使用。

语法 :

java 复制代码
REMOVE <property-name-list>
java 复制代码
CREATE TABLE BOOK(
	id number,
	title varchar2(20),
	pages number,
	price number
);
INSERT INTO BOOK VALUES (122,'Neo4j Tutorial',340,250);

MATCH (book { id:122 })
REMOVE book.price
RETURN book

SET子句

Neo4j CQL 已提供 SET 子句来执行以下操作。

  • 向现有节点或关系添加新属性
  • 添加或更新属性值
java 复制代码
SET  <property-name-list>

<属性名称列表>语法:

<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>, 
.... 
<node-label-name>.<propertyn-name> 
xml 复制代码
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book

ORDER BY排序

语法:

ORDER BY  <property-name-list>  [DESC]	 
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name
相关推荐
唐叔在学习4 分钟前
【唐叔学算法】第19天:交换排序-冒泡排序与快速排序的深度解析及Java实现
java·算法·排序算法
music0ant8 分钟前
Idea 配置环境 更改Maven设置
java·maven·intellij-idea
记得开心一点嘛23 分钟前
Nginx与Tomcat之间的关系
java·nginx·tomcat
界面开发小八哥36 分钟前
「Java EE开发指南」如何用MyEclipse构建一个Web项目?(一)
java·前端·ide·java-ee·myeclipse
王伯爵38 分钟前
<packaging>jar</packaging>和<packaging>pom</packaging>的区别
java·pycharm·jar
Q_19284999061 小时前
基于Spring Boot的个人健康管理系统
java·spring boot·后端
m0_748245172 小时前
Web第一次作业
java
小码的头发丝、2 小时前
Java进阶学习笔记|面向对象
java·笔记·学习
m0_548514772 小时前
前端Pako.js 压缩解压库 与 Java 的 zlib 压缩与解压 的互通实现
java·前端·javascript