neo4j中常用cql命令汇总(基础版)

@TOC

1.节点

1.1.添加节点

sql 复制代码
CREATE (n:user {id: "1898914289469677570", username: "张三", age: "22", phoneNumber: "13355536547"})

1.2.修改节点

sql 复制代码
MATCH (n:user {id: "1898914289469677570"}) SET n.username = "张三66", n.age = "66", n.phoneNumber = "13355536547", n.address = "***街道" RETURN n

2.关系

2.1.添加关系

  1. 根据已有节点的id属性来创建无属性关系
sql 复制代码
MATCH (a:user {id: "1897185063343259650"}), (b:school {id: "1897210602850418689"}) CREATE (a)-[r:study]->(b)
  1. 根据已有节点的id属性来创建有属性关系
sql 复制代码
MATCH (a:user {id: "1897185063343259650"}), (b:school {id: "1897210602850418689"}) CREATE (a)-[r:study{name:"学习",startDate:"2020-01-01",endDate:"2024-05-01"}]->(b)
  1. 使用新节点来创建有属性关系
sql 复制代码
CREATE (video1:YoutubeVideo1{title:"Action Movie1",updated_by:"Abc",uploaded_date:"10/10/2010"})
-[r:ACTION_MOVIES{rating:1}]->
(video2:YoutubeVideo2{title:"Action Movie2",updated_by:"Xyz",uploaded_date:"12/12/2012"}) 

2.2.修改关系

3.删除

3.1.删除节点的某个属性

删除学校中id为9的数据的address属性

sql 复制代码
MATCH (n:school) WHERE n.id = "9" REMOVE n.address RETURN n;

3.2.删除节点的所有关系

  • (n:school {id: "1"})-[r]-() 所有关系
  • (n:school {id: "1"})-[r]->() 节点指出去的关系
  • (n:school {id: "1"})<-[r]-() 指向节点的关系
sql 复制代码
MATCH (n:school {id: "1"})-[r]-() DELETE r;

3.3.删除节点的某个关系

sql 复制代码
MATCH (n:teacher {id: "1002"})-[r:teach]->() DELETE r;

3.4.删除节点以及关系

sql 复制代码
MATCH (n:school) WHERE n.id = "4" DETACH DELETE n;

4.查询

4.1.根据节点内部id查询节点

sql 复制代码
MATCH (n:school) WHERE id(n) = 22 RETURN n;

注:前面的cql查询,id都是指内部id;后面的cql中,id都是指自定义的id属性。

4.2.查询从a节点指出去的所有关系节点

sql 复制代码
MATCH (a:school {id: '7'})-[r]->(b) RETURN b;

4.3.查询指向a节点的所有关系节点

sql 复制代码
MATCH (a:student {id: '7'})<-[r]-(b) RETURN b;

4.4.查询与a节点存在关系、且距离为1的所有节点

sql 复制代码
MATCH (a:student {id: '7'})-[r]-(b) RETURN a, r, b;

4.5.查询与a节点存在关系、且距离小于等于3的所有节点

sql 复制代码
MATCH (a:student {id: '7'})-[r*1..3]-(b) RETURN a, r, b;
相关推荐
always_TT1 分钟前
内存泄漏是什么?如何避免?
android·java·开发语言
白鸽梦游指南3 分钟前
docker仓库的工作原理及搭建仓库
java·docker·eureka
※DX3906※4 分钟前
SpringBoot之旅4: MyBatis 操作数据库(进阶) 动态SQL+MyBatis-Plus实战,从入门到熟练,再也不踩绑定异常、SQL拼接坑
java·数据库·spring boot·spring·java-ee·maven·mybatis
java1234_小锋8 分钟前
Java高频面试题:怎么实现Redis的高可用?
java·开发语言·redis
jiankeljx12 分钟前
MySQL-mysql zip安装包配置教程
java
FlagOS智算系统软件栈12 分钟前
智源×Eclipse基金会携手打造PanEval,中欧协同开启“评测+开源+合规”新模式
java·eclipse·开源
日出等日落19 分钟前
用 Kavita实现我的远程数字书屋搭建记!
java·开发语言·ide·vscode·编辑器
Alan GEO实施教练26 分钟前
实用新型专利申请代理机构选择:关键考量因素与实操要点讲解
java·开发语言·python
gelald27 分钟前
JVM - 类加载机制
java·jvm·后端
Darkdreams29 分钟前
Java进阶-在Ubuntu上部署SpringBoot应用
java·spring boot·ubuntu