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
相关推荐
自由的疯13 小时前
Java 如何学习Docker
java·后端·架构
自由的疯13 小时前
Java Docker本地部署
java·后端·架构
007php00713 小时前
猿辅导Java面试真实经历与深度总结(二)
java·开发语言·python·计算机网络·面试·职场和发展·golang
摇滚侠13 小时前
Spring Boot 3零基础教程,WEB 开发 内容协商机制 笔记34
java·spring boot·笔记·缓存
一勺菠萝丶13 小时前
在 macOS 上用 Docker 为 Java 后端 & 常见开发需求搭建完整服务(详尽教程)
java·macos·docker
顾漂亮13 小时前
JVM底层攻坚
java·jvm·spring
编程岁月13 小时前
java面试-0215-HashMap有序吗?Comparable和Comparator区别?集合如何排序?
java·数据结构·面试
木井巳13 小时前
[Java数据结构与算法]详解排序算法
java·数据结构·算法·排序算法
没有bug.的程序员15 小时前
分布式架构未来趋势:从云原生到智能边缘的演进之路
java·分布式·微服务·云原生·架构·分布式系统
毕业设计制作和分享17 小时前
springboot150基于springboot的贸易行业crm系统
java·vue.js·spring boot·后端·毕业设计·mybatis