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
相关推荐
云烟成雨TD20 小时前
Spring AI Alibaba 1.x 系列【6】ReactAgent 同步执行 & 流式执行
java·人工智能·spring
于慨20 小时前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
swg32132120 小时前
Spring Boot 3.X Oauth2 认证服务与资源服务
java·spring boot·后端
gelald20 小时前
SpringBoot - 自动配置原理
java·spring boot·后端
殷紫川20 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java
一轮弯弯的明月20 小时前
贝尔数求集合划分方案总数
java·笔记·蓝桥杯·学习心得
chenjingming66621 小时前
jmeter线程组设置以及串行和并行设置
java·开发语言·jmeter
殷紫川21 小时前
深入拆解 Java volatile:从内存屏障到无锁编程的实战指南
java
eddieHoo21 小时前
查看 Tomcat 的堆内存参数
java·tomcat
那个失眠的夜21 小时前
Mybatis延迟加载策略
xml·java·数据库·maven·mybatis