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 ...
随机推荐
- CRM销售管理功能
联系项目project:-------是一个大的项目,比如通知开会之类 每个坐席需要分配自己的联系任务,每个联系任务,有自己的完成未完成状态.同时关联着通话记录等 销售计划----销售项目 销售流程: ...
- Python os.getcwd()
Python os.getcwd() 方法 Python OS 文件/目录方法 概述 os.getcwd() 方法用于返回当前工作目录. 语法 getcwd()方法语法格式如下: os.getcwd ...
- NumPy 位运算
NumPy 位运算 NumPy "bitwise_" 开头的函数是位运算函数. NumPy 位运算包括以下几个函数: 函数 描述 bitwise_and 对数组元素执行位与操作 b ...
- numpy学习之矩阵之旅
一:特殊的矩阵 1.全0全1的矩阵 2.单位矩阵 单位矩阵:整个矩阵是n*n的,并且斜对角全是1 矩阵的加减法 1.矩阵相加,相减必须要有相同的行和列 二:数组的乘法(点成) 数组的乘法 list_1 ...
- [剑指Offer]25-合并两个排序链表
题目链接 https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&tqId=11169&t ...
- Kylin介绍,功能特点【转】
Apache Kylin是一个开源的分布式分析引擎.完全由eBay Inc.中国团队开发 并贡献至开源社区.提供Hadoop之上的SQL查询接口及多维分析(MOLAP)能力以 支持大规模数据能在亚秒内 ...
- ubuntu下nginx的常用操作
1.安装不多说了,我是使用apt-get进行安装的,直接键入 apt-get install nginx 2.启动nginx. 首先找到nginx的主运行程序(相当于windows下的nginx.ex ...
- swift - 添加定时器
mport UIKit /// 控制定时器的类 class ZDTimerTool: NSObject { /// 定时器 // private var timer: Timer? /// GCD定时 ...
- springmvc+logback项目的日志搭建
一.重写HTMLLayout 两个自定义类:LzhHTMLLayoutBase和LzhHTMLLayout LzhHTMLLayoutBase代码如下: package top.liaozhengha ...
- 通过java.net.URLConnection发送HTTP请求(原生、爬虫)
目录 1. 运用原生Java Api发送简单的Get请求.Post请求 2. 简单封装 3. 简单测试 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求.Ja ...