Neo4j常用的查询
一、添加操作
1. 添加节点:
create (x:学生{studentId:'1001',age:20}
2. 添加关系:
对现有的节点添加关系
match (x:学生{studentId:1001}),(y:教师{tid:'09'}) create (x)-[jx:课程{name:'高数'}]->(y)
match (x:学生),(y:教师) where x.studentId='1001' and y.tid='09' create (x)-[jx:课程{name:'高数'}]->(y)
添加节点并添加关系
create (x:学生{studentId:1001})-[jx:课程{name:'高数'}]->(y:教师{tid:'09'})
3. 根据节点的ID创建关系
match (x:学生),(y:教师) where id(x)=254885 and id(y)=554896 create (x)-[jx:课程{name:'高数'}]->(y)
二、删除操作
1. 删除节点:
match (x:学生{studentId:1001}) delete x
2. 删除关系:
match (x:学生{studentId:1001})-[jx:课程{name:'高数'}]->(y:教师{tid:'09'}) delete jx
3. 删除关系的同时,删除数据:
match (x:学生{studentId:1001})-[jx:课程{name:'高数'}]->(y:教师{tid:'09'}) delete x,jx,y
三、修改节点
1. 给节点添加一个新的属性,两种方式:
match(x:学生{studentId:'1001'}) set x.age=21 return x
match(x:学生{studentId:'1001'}) set x+={age:21} return x
2. 给节点添加属性并删除现有属性
match(x:学生{studentId:'1001'}) set x={age:21,name:'abc'} //注意这里,会将studentId属性删除
3. 添加新标签:
match(x:学生{studentId:'1001'}) set x:男生 return x //添加一个标签
match(x:学生{studentId:'1001'}) set x:男生:团员 return x //添加多个标签
四、查询操作
1. 根据节点属性查找对应节点:
match(x:Student{studentId:'1001'}) return x
或者
match(x:Student) where x.studentId='1001' return x
2. 根据关系查找节点
match (x)-[r:教学内容]-(y) where r.课程='语文' return x,r,y
3. 查询单独的节点,即:与其他任何节点没有任何关系
match(x) where not (x)-[]-() return x
4. 查询N层关系的节点:
match q=(x)-[*5..8]-() return q limit 200 这个为查询5到8层关系的
match q=(dh)-[r]-(jq)-[rr]-()-[]-()-[]-()-[]-()-[]-()-[]-() return q limit 400
5. 查询节点关系数个数:
match(dh:`学生`)-[r]-(jq:`老师`) with dh, count(r) as dhs where dhs > 2 return dh
6. 查询节点个数:
match(x) return count(x)
7. 查询所有的关系类型:
CALL db.relationshipTypes()
8. 查询所有的节点标签:
CALL db.labels()
9. 查询节点关系种类:
CALL db.schema()
10. 最短路径查询
MATCH (x:电话{hm:"02711111111"}),(y:电话{sjdbh:"025111111111"}),p=shortestpath((x)-[*..10]-(y))RETURN p
11. 查询不存在某个属性的节点
match(x:电话) where x.repeat is null with x match p=(x)-[r*1..5]-(y) return p
12. 查询存在关联到某一个节点具有相同属性的其他的节点
match p=(x)-[]-()-[]-(y) where x.name=y.name return p
13. 查询两个节点之间存在多个关系的节点
match p=(x)-[r1]-(y)-[r2]-(x) where id(r1)<>id(r2) return p
14. 查询某一个节点具有m到n层关系的所有的节点
match q=(x:学生)-[*1..5]-() where x.no ='201921011XXXX' return q #查询某学生有关系的节点,最多五层关系
暂时先写这么多吧,想起来了再添加,如果有需要其他的查询,欢迎留言
Neo4j常用的查询的更多相关文章
- neo4j 常用命令查询,以及更新 节点 的 label 名 和 property 名
常用命令查询 https://neo4j.com/docs/cypher-refcard/current/ 更新节点的 labels 有时候 发现节点的 label 名字起错了怎么修改呢?!一个节点是 ...
- MySQL常用的查询命令
MySQL常用的查询命令 author: headsen chen 2017-10-19 10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...
- mysql常用快速查询修改操作
mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...
- Neo4j使用Cypher查询图形数据
Neo4j使用Cypher查询图形数据,Cypher是描述性的图形查询语言,语法简单,功能强大,由于Neo4j在图形数据库家族中处于绝对领先的地位,拥有众多的用户基数,使得Cypher成为图形查询语言 ...
- HTML常用标签查询
JAVA开发避免不了要接触前端,所以我不得不从0开始学习前端内容!下面分享我自己总结的HTML常用标签查询代码:将下面代码复制粘贴到文本文档,然后另存为html格式;通过file:///文档保存路径的 ...
- [转] 常用SQL查询语句
sunada 的原文地址 常用SQL查询语句 一.简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指 ...
- Django——7 常用的查询 常用的模型字段类型 Field的常用参数 表关系的实现
Django 常用的查询 常用的查询方法 常用的查询条件 常用字段映射关系 Field常用参数 表关系的实现 查用的查询方法 这是需要用到的数据 from django.http import Htt ...
- elasticsearch 基础 —— Common Terms Query常用术语查询
常用术语查询 该common术语查询是一个现代的替代提高了精确度和搜索结果的召回(采取禁用词进去),在不牺牲性能的禁用词. 问题 查询中的每个术语都有成本.搜索"The brown fox& ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
随机推荐
- PHP全栈学习笔记31
伪类:未被访问状态,已被访问状态,鼠标悬停状态,活动状态 :link 未被访问的链接添加样式 :visited 向已被访问链接添加样式 :hover 向鼠标悬停时向元素添加样式 :active 向被激 ...
- P1850 换教室——期望DP
题目描述 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有 2n2n2n 节课程安排在 nnn 个时间段上.在第 iii(1≤i≤n1 \leq i ...
- springBoot学习(一):初学Thymeleaf
这一部分的代码是基于大神的代码,只是原本的代码是有错的,只自己记录一下自己更改之后的代码和自己的理解. 使用Spring Initzal创建项目,最后代码结构如下,我对Spring及其相关之事还是全然 ...
- [WEB安全]给BurpSuite设置非本地的网络代理
目录 0x01 一般情况 0x02 移动端流量抓取 0x03 多重代理的情形 0x04 参考链接 在Web渗透测试过程中,BurpSuite是不可或缺的神器之一. BurpSuite的核心是代理Pro ...
- idea出现Error configuring application listener of class org.springframework.web.context.ContextLoader
在IDEA中写spring mvc时出现Error configuring application listener of class org.springframework.web.context. ...
- 《Glibc内存管理》笔记DAY5
目录 分箱式内存管理 Unsorted bin Fast bins 核心结构体分析 malloc_state 内容来源 分箱式内存管理 Unsorted bin Unsorted bin 可以看作 ...
- js 检测链接是否有效(包含跨域)
const checkUrl = function (url) { const promise = new Promise(function (resolve, reject) { if (!url) ...
- Logback 输出 JPA SQL日志 到文件
Logback 输出 JPA SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Sprin ...
- PyMouse、PyKeyboard用python操作鼠标和键盘
1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...
- KDChart example
/******************************************************************************** ** Form generated ...