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 ...
随机推荐
- 2019暑期金华集训 Day3 字符串
自闭集训 Day3 字符串 SAM 考虑后缀树. SAM的parent树是反串的后缀树,所以后面加一个字符的时候相当于往串前面加一个字符,恰好多出了一个后缀. 于是可以以此来理解SAM. 每一条路径对 ...
- FCFS,SJF,HRN
1.编写并调试一个单道处理系统的作业等待模拟程序. 作业等待算法:分别采用先来先服务(FCFS),最短作业优先(SJF).响应比高者优先(HRN)的调度算法. 对每种调度算法都要求打印每个作业开始运行 ...
- java关于Integer设置-128到127的静态缓存
今天在一个java群里,看到有个群友问到如下为什么第一个为true,第二个为false. System.out.println(Integer.valueOf("50")==Int ...
- “可恶”的mariadb
这是头一次用mariadb,听说是centos7自带的,本来本地用的好好地,今天想连接一下远程centos7主机上的mariadb,结果各种出错,痛不欲生,最后实在买办法只能卸载装mysql啦.稍微记 ...
- Asis_2016_b00ks wp
目录 程序基本信息 程序漏洞 利用思路 exp脚本 参考 程序基本信息 程序漏洞 有一个读入函数,程序的所有输入都靠它读取,这个程序有个很明显的off_by_one漏洞,在输入时多输入一个0字符. 利 ...
- [Ubuntu] sudo apt-get update指令执行失败
系统:Ubuntu 16.04 LTS 安装软件前执行 sudo apt-get update 更新,但是提示失败如下: 网上搜索后,因为连接不到 US 的服务器,所以更新失败,需要在系统设置中将源服 ...
- Alpha项目冲刺! Day1-领航
各个成员在 Alpha 阶段认领的任务 成员 任务 任务时长 林恩 项目进度签到代码审核与签入撰写博客协调组内合作 50 寇永明 美工和部分后台编写 30 杨长元 安卓端搭建 45 胡彤 服务器框架搭 ...
- IDEA使用(03)_git撤回(已经commit未push的)操作
1.问题来源 日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后再提交到本地,或者需要整合多次 commit,然后 push 到远程仓库. 2.IDEA解决方案 I.在idea ...
- echarts3.0之关系图详解
近期需要使用echarts关系图,当我打开echarts3.0官方demo后发现,对于新手而言,直接看懂有点儿难度,固写这样一篇文章让自己加深记忆,也便新手迅速上手.话不多说,开整生气! echart ...
- insmod内核模块时提示"unknown symbol ..."如何处理?
答: 是当前内核模块所依赖的模块没有被加载导致的,加载对应的依赖模块即可