//清空数据
match (n) detach delete n

(一)查询节点
1.查询所有节点
//查询数据库中的所有节点
match(n)return n

2.查询带有某个标签的所有节点
//查询数据库中的所有电影
match(movie:Movie)return movie.title

3.查询关联节点 --
//查询Oliver Stone导演的所有电影
match(director{name:"Oliver Stone"})--(movie)return movie.title

4.匹配标签
//查询Oliver Stone相连的带有movie标签的所有节点
match(Oliver:Person{name:"Oliver Stone"})--(movie:Movie)return movie.title

(二)查询关系
1. 通过-->或者<--
//查询Oliver Stone外向连接的所有节点
match(Oliver:Person{name:"Oliver Stone"})-->(movie:Movie)return movie.title

2.有向关系和变量
//查询Oliver外向关系的类型
match(Oliver:Person{name:"Oliver Stone"})-[r]->(:Movie)return type(r)

3.匹配关系类型
//返回Wall Street中的所有演员
match(p)-[:ACTED_IN]->(movie:Movie{title:"Wall Street"})return p.name

4.匹配多种关系类型
//返回Wall Street中关系为ACTED_IN|或者DIRECTED的所有节点
match(p)-[:ACTED_IN|:DIRECTED]->(movie:Movie{title:"Wall Street"})return p.name

5. 匹配关系类型和使用关系变量
//返回Wall Street所有演员的角色
match(p)-[r:ACTED_IN]->(movie:Movie{title:"Wall Street"})return r.roles

(三)关系的深度
1. 带有特殊字符的关系类型
create(Rob)-[:`TYPE WITH SPACE`]->(Charlie)
match(Rob:Person {name:'Rob Reiner'})-[r:`TYPE WITH SPACE`]->()return type(r)

2.多个关系 ()-()
//查询Charlie演的电影和该电影的导演
match(Charlie:Person {name:'Charlie Sheen'})-[:ACTED_IN]->(movie)<-[:DIRECTED]-(director)return movie.title,director.name

3.可变长关系
//查询Charlie关系为1-3的所有电影
match(Charlie:Person {name:'Charlie Sheen'})-[:ACTED_IN*1..3]->(movie)return movie.title
4. 变长关系的关系变量

//当两个节点之间的长度是变长,返回一个关系列表
match(actor{name:"Charlie Sheen"})-[r:ACTED_IN*2]-(coactor) return r

5.变长路径的属性匹配
//查询Charlie Sheen和Martin Sheen之间满足block属性为false的所有关系
match(charlie:Person{name:"Charlie Sheen"}),(martin:Person{name:"Martin Sheen"})
create(charlie)-[:X{blocked:FALSE}]->(:UNBLOCKED)<-[:X{blocked:FALSE}]-(martin)
create(charlie)-[:X{blocked:TRUE}]->(:BLOCKED)<-[:X{blocked:FALSE}]-(martin)
MATCH P=(charlir:Person)-[*{blocked:FALSE}]-(martin:Person)WHERE charlir.name="Charlie Sheen"and martin.name="Martin Sheen" return P

6.零长路径:
//查询电影本身以及一跳关系的演员和导演
match(wallstreet:Movie{title:"Wall Street"})-[*0..1]-(x)return x

7.命名路径
//如果想返回或者对路径进行过滤,可以将路径赋值给一个变量
match p=(michael{name:"Michael Douglas"})-->() return p

8.匹配一簇关系

(四)最短路径
1.单条最短路径shortesrPath
//在搜索最短路径时,可以使用关系类型/最大跳数,方向等约束
match(charlie:Person{name:"Charlie Sheen"}),(olive:Person{name:"Olive Stone"}),
p=shortestPath((martin)-[*1..15]-(olive))return p

2.带有断言的最短路径
//查询Charlie Sheen和Marin Sheen之间的最短路径,不考虑父子关系
match(charlie:Person{name:"Charlie Sheen"}),(martin:Person{name:"Marin Sheen"}),
p=shortestPath((martin)-[*]-(martin))
where NONE (r in rels(p) where type(r)="FATHER") return p

3.所有最短路径
match(martin:Person{name:"Martin Sheen"}),(michael:Person{name:"Michael Douglas"}),
p=allshortestPaths((charlie)-[*]-(michael)) return p

(五)通过ID查询节点或关系
1.通过id查询节点
//节点id为0
match(n) where id(n)=0 return n

2.通过id查询关系
//关系id为0,不推荐
match()-[r]-() where id(r)=0 return r

3.通过id查询多个节点
match(n) where id(n) in [0,3,5] return n

match的更多相关文章

  1. Elasticsearch 5.0 中term 查询和match 查询的认识

    Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...

  2. SQL Server-聚焦查询计划Stream Aggregate VS Hash Match Aggregate(二十)

    前言 之前系列中在查询计划中一直出现Stream Aggregate,当时也只是做了基本了解,对于查询计划中出现的操作,我们都需要去详细研究下,只有这样才能对查询计划执行的每一步操作都了如指掌,所以才 ...

  3. Java compiler level does not match解决方法

    从别的地方导入一个项目的时候,经常会遇到eclipse/Myeclipse报Description  Resource Path Location Type Java compiler level d ...

  4. 钉钉开放平台demo调试异常问题解决:hostname in certificate didn't match

    今天研究钉钉的开放平台,结果一个demo整了半天,这帮助系统写的也很难懂.遇到两个问题: 1.首先是执行demo时报unable to find valid certification path to ...

  5. .net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)

    正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...

  6. 在mongoose中使用$match对id失效的解决方法

    Topic.aggregate( //{$match:{_id:"5576b59e192868d01f75486c"}}, //not work //{$match:{title: ...

  7. index+match函数在压实度中对盒号盒质量随机不重复的最佳使用

    首先按照升序排列好盒号和盒质量,使其一一对应, 盒号    盒重量    随机值rand()     随机值大小排列rank 1         2001       0.01             ...

  8. MongoDB查询转对象是出错Element '_id' does not match any field or property of class

    MongoDB查询转对象是出错Element '_id' does not match any field or property of class   解决方法: 1.在实体类加:[BsonIgno ...

  9. Excel——使用OFFSET、MATCH、COUNTA实现二级菜单

    如图所示,接下来提供两种办法实现: 1.将A.B.C.D定义为名称NAME. 2.设置一级菜单单元格数据有效性为NAME. 3.设置二级菜单格数据有效为: =OFFSET($A$1,MATCH($A6 ...

  10. Excel——MATCH函数

    使用 MATCH 函数在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置. 1.参数说明: MATCH(lookup_value, lookup_array, [match_type]) l ...

随机推荐

  1. Spring AOP @Aspect

    spring提供了两个核心功能,一个是IoC(控制反转),另外一个便是Aop(面向切面编程),IoC有助于应用对象之间的解耦,AOP则可以实现横切关注点(如日志.安全.缓存和事务管理)与他们所影响的对 ...

  2. 健壮的网络编程IO函数-RIO包

    RIO包 简介 Rio包即为Robust io函数包.包中函数是对Linux基本I/O函数的封装,使其更加健壮.高效,更适用于网络编程. 分析 Rio包由rio_t结构体和系列函数组成. 首先是两个不 ...

  3. Linux下鼠标滚轮速度调整

    安装imwheel 于home下创建.imwheelrc gedit ~/.imwheelrc 在.imwheelrc中粘贴以下内容 ".*" None, Up, Button4, ...

  4. Ubuntu 14.04 LTS 安装Docker(转)

    转自:https://www.cnblogs.com/leolztang/p/5097278.html Docker官方是有很详细的安装文档(https://docs.docker.com/engin ...

  5. CentOS 下环境变量

    1. 显示环境变量HOME(不要把一个#号输进去了,#代表用户名) # echo #HOME /home/redbooks 2. 设置一个新的环境变量hello # export HELLO=&quo ...

  6. 二维背包 hdu2159

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 题目里面有两个限制条件,忍耐度和杀怪数量,所以可以用一个二维数组dp[i][j]来表示在消耗忍耐 ...

  7. DDMS 使用方法

    一.真机调试的两个必备条件 (1)手机打开开发者模式并且运行USB调试 (2)PC上装好手机对应的驱动 二.DDMS(DalvikDebugMonitorServer)四个主要窗口 Devices:当 ...

  8. ACM-ICPC 2018 南京赛区网络预赛 G. Lpl and Energy-saving Lamps(二分+线段树区间最小)

    During tea-drinking, princess, amongst other things, asked why has such a good-natured and cute Drag ...

  9. Delphi: RTTI与ini配置文件

    项目以Rtti特性做文件参数配置,简化每项读写ini操作,记录以做备忘,代码如下: unit uGlobal; interface uses Windows, Messages, SysUtils, ...

  10. Python: AES加密与解密

    起源: 视频下载,解析到一个网站时,发现其视频id是用AES加密过的,用的是https://code.google.com/archive/p/crypto-js/这个库.解密很简单的一句js代码: ...