一、添加操作

  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常用的查询的更多相关文章

  1. neo4j 常用命令查询,以及更新 节点 的 label 名 和 property 名

    常用命令查询 https://neo4j.com/docs/cypher-refcard/current/ 更新节点的 labels 有时候 发现节点的 label 名字起错了怎么修改呢?!一个节点是 ...

  2. MySQL常用的查询命令

    MySQL常用的查询命令 author: headsen chen   2017-10-19  10:15:25 个人原创.转载请注明作者,出处,否则依法追究法律责任 1,查询现在的时间:mysql& ...

  3. mysql常用快速查询修改操作

    mysql常用快速查询修改操作 一.查找并修改非innodb引擎为innodb引擎 # 通用操作 mysql> select concat('alter table ',table_schema ...

  4. Neo4j使用Cypher查询图形数据

    Neo4j使用Cypher查询图形数据,Cypher是描述性的图形查询语言,语法简单,功能强大,由于Neo4j在图形数据库家族中处于绝对领先的地位,拥有众多的用户基数,使得Cypher成为图形查询语言 ...

  5. HTML常用标签查询

    JAVA开发避免不了要接触前端,所以我不得不从0开始学习前端内容!下面分享我自己总结的HTML常用标签查询代码:将下面代码复制粘贴到文本文档,然后另存为html格式;通过file:///文档保存路径的 ...

  6. [转] 常用SQL查询语句

    sunada  的原文地址 常用SQL查询语句 一.简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SELECT * FROM emp; 3. 查询指 ...

  7. Django——7 常用的查询 常用的模型字段类型 Field的常用参数 表关系的实现

    Django 常用的查询 常用的查询方法 常用的查询条件 常用字段映射关系 Field常用参数 表关系的实现 查用的查询方法 这是需要用到的数据 from django.http import Htt ...

  8. elasticsearch 基础 —— Common Terms Query常用术语查询

    常用术语查询 该common术语查询是一个现代的替代提高了精确度和搜索结果的召回(采取禁用词进去),在不牺牲性能的禁用词. 问题 查询中的每个术语都有成本.搜索"The brown fox& ...

  9. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

随机推荐

  1. NetworkX系列教程(1)-创建graph

    小书匠Graph图论 研究中经常涉及到图论的相关知识,而且常常面对某些术语时,根本不知道在说什么.前不久接触了NetworkX这个graph处理工具,发现这个工具已经解决绝大部分的图论问题(也许只是我 ...

  2. 【原创】go语言之打印目录

    package main import ( "fmt" "io/ioutil" "log" ) func listFiles(dirname ...

  3. Allure自动化测试报告之修改allure测试报告名称

    1.从github获取allure代码 https://github.com/allure-framework/allure2 2.安装gradle,用于打包jar brew install grad ...

  4. 说自己熟悉 Spring Cloud 这些面试题你会吗

    问题一:什么是Spring Cloud? Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成.Spring cloud Task,一个 ...

  5. 深入理解JVM虚拟机4:Java class介绍与解析实践

      用java解析class文件 转自https://juejin.im/post/589834a20ce4630056097a56 前言 身为一个java程序员,怎么能不了解JVM呢,倘若想学习JV ...

  6. 网络爬虫requests-bs4-re-1

    最近了解了爬虫,嗯--------,有时候会搞得有点头晕. 跟着线上老师实现了两个实例.可以用python下载源代码玩玩,爬淘宝的很刺激,虽然违反了ROBOTS协议. GIT地址

  7. maven中的Exclusions详解

    依赖关系:Project-A>Project-B>Project-C,但是Project-A不依赖Project-C,在Project-A中的POM.xml应该进行如下配置: <de ...

  8. Tosca TestCases: Update all,Checkin all,Checkout,Checkout Tree

    #记录一下TestCases  Module 红框里面这几个button的功能 #Update all 从数据库里把别人最新checkin的东西给拽出来查看,也就是拿最新版本 #Checkin all ...

  9. SQL-W3School-函数:SQL ROUND() 函数

    ylbtech-SQL-W3School-函数:SQL ROUND() 函数 1.返回顶部 1. ROUND() 函数 ROUND 函数用于把数值字段舍入为指定的小数位数. SQL ROUND() 语 ...

  10. Python 3.x 引入了函数注释

    Python 3.x 引入了函数注释,以增强函数的注释功能,下面是一个普通的自定义函数:   def dog(name, age, species):   return (name, age, spe ...