match
//清空数据
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的更多相关文章
- Elasticsearch 5.0 中term 查询和match 查询的认识
Elasticsearch 5.0 关于term query和match query的认识 一.基本情况 前言:term query和match query牵扯的东西比较多,例如分词器.mapping ...
- SQL Server-聚焦查询计划Stream Aggregate VS Hash Match Aggregate(二十)
前言 之前系列中在查询计划中一直出现Stream Aggregate,当时也只是做了基本了解,对于查询计划中出现的操作,我们都需要去详细研究下,只有这样才能对查询计划执行的每一步操作都了如指掌,所以才 ...
- Java compiler level does not match解决方法
从别的地方导入一个项目的时候,经常会遇到eclipse/Myeclipse报Description Resource Path Location Type Java compiler level d ...
- 钉钉开放平台demo调试异常问题解决:hostname in certificate didn't match
今天研究钉钉的开放平台,结果一个demo整了半天,这帮助系统写的也很难懂.遇到两个问题: 1.首先是执行demo时报unable to find valid certification path to ...
- .net正则表达式大全(.net 的 System.Text.RegularExpressions.Regex.Match()方法使用)
正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET的System.dll类库提供的System.Text.RegularExpression ...
- 在mongoose中使用$match对id失效的解决方法
Topic.aggregate( //{$match:{_id:"5576b59e192868d01f75486c"}}, //not work //{$match:{title: ...
- index+match函数在压实度中对盒号盒质量随机不重复的最佳使用
首先按照升序排列好盒号和盒质量,使其一一对应, 盒号 盒重量 随机值rand() 随机值大小排列rank 1 2001 0.01 ...
- 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 ...
- Excel——使用OFFSET、MATCH、COUNTA实现二级菜单
如图所示,接下来提供两种办法实现: 1.将A.B.C.D定义为名称NAME. 2.设置一级菜单单元格数据有效性为NAME. 3.设置二级菜单格数据有效为: =OFFSET($A$1,MATCH($A6 ...
- Excel——MATCH函数
使用 MATCH 函数在范围单元格中搜索特定的项,然后返回该项在此区域中的相对位置. 1.参数说明: MATCH(lookup_value, lookup_array, [match_type]) l ...
随机推荐
- Spring AOP @Aspect
spring提供了两个核心功能,一个是IoC(控制反转),另外一个便是Aop(面向切面编程),IoC有助于应用对象之间的解耦,AOP则可以实现横切关注点(如日志.安全.缓存和事务管理)与他们所影响的对 ...
- 健壮的网络编程IO函数-RIO包
RIO包 简介 Rio包即为Robust io函数包.包中函数是对Linux基本I/O函数的封装,使其更加健壮.高效,更适用于网络编程. 分析 Rio包由rio_t结构体和系列函数组成. 首先是两个不 ...
- Linux下鼠标滚轮速度调整
安装imwheel 于home下创建.imwheelrc gedit ~/.imwheelrc 在.imwheelrc中粘贴以下内容 ".*" None, Up, Button4, ...
- Ubuntu 14.04 LTS 安装Docker(转)
转自:https://www.cnblogs.com/leolztang/p/5097278.html Docker官方是有很详细的安装文档(https://docs.docker.com/engin ...
- CentOS 下环境变量
1. 显示环境变量HOME(不要把一个#号输进去了,#代表用户名) # echo #HOME /home/redbooks 2. 设置一个新的环境变量hello # export HELLO=&quo ...
- 二维背包 hdu2159
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2159 题目里面有两个限制条件,忍耐度和杀怪数量,所以可以用一个二维数组dp[i][j]来表示在消耗忍耐 ...
- DDMS 使用方法
一.真机调试的两个必备条件 (1)手机打开开发者模式并且运行USB调试 (2)PC上装好手机对应的驱动 二.DDMS(DalvikDebugMonitorServer)四个主要窗口 Devices:当 ...
- 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 ...
- Delphi: RTTI与ini配置文件
项目以Rtti特性做文件参数配置,简化每项读写ini操作,记录以做备忘,代码如下: unit uGlobal; interface uses Windows, Messages, SysUtils, ...
- Python: AES加密与解密
起源: 视频下载,解析到一个网站时,发现其视频id是用AES加密过的,用的是https://code.google.com/archive/p/crypto-js/这个库.解密很简单的一句js代码: ...