一、添加操作

  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. ROStopic 通信方式

    操作演示,对 topic 通信方式的理解请看:点击打开链接 开启终端,运行 roscore 新开一个终端(已经安装好(ros-<distro>-ros-tutorials 包,否则运行  ...

  2. vscode搭建springboot开发环境

    1. JDK,Maven 1.1 下载略 1.2 设置系统环境变量 jdk增加环境变量JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191(安装路径) 增加路径Pa ...

  3. jsp页面中的EL表达式不被解析org.apache.jasper.JasperException: Unable to convert string [${item.createtime}]

    https://m.imooc.com/qadetail/277572 web.xml的版本是不是2.3, 如果是2.3,在jsp页面开头添加<%@ page isELIgnored=" ...

  4. cesium地下模式(地表透明)4

    这篇博客主要罗列一下解决地下模式(地表透明)的相关资源 1.Cesium的Github仓库地下模式issue 有人提了这个问题,但是cesium官方没有解决这个问题,持续跟踪一下问题说不定哪天官方就解 ...

  5. 使用python2 对服务器监控(监控内存,CPU,网卡流量等)

    #!/usr/bin/env python # -*- coding:utf- -*- #create at -- 'this is a system monitor scripts' __autho ...

  6. 读取文件名.cpp

    #include <io.h> #include <iostream> #include <string> #include <windows.h> # ...

  7. Cesium官方教程6--相机

    相机(Camera) 相机控制了场景的观察视角.有很多相机操控方法,比如旋转.缩放.平移以及飞行定位.Cesium默认支持使用鼠标和触摸事件控制相机.Cesium也提供了一套可编程的相机控制API.这 ...

  8. mac电脑如何快速显示桌面及切换应用

    使用mac电脑时,我们习惯打开很多应用,文档等等.如果打开应用非常多,需要操作桌面,却不知如何快速返回桌面和切换应用时,操作就非常不便了,下面简单介绍mac电脑系统如何快速显示桌面及切换应用? 工具/ ...

  9. 灵活使用ssh、dsh和pssh高效管理大量计算机

    http://os.iyunv.com/art/201012/240113.htm 灵活使用ssh.dsh和pssh高效管理大量计算机 http://os.iyunv.com2010-12-23 09 ...

  10. uboot移植spi驱动

    记录一下在uboot内移植spi驱动的过程 芯片:freescale Mpc8308 uboot版本:u-boot-2009.11-rc1.2 需求:我们需要在uboot下通过spi配置一个时钟芯片( ...