图数据库(七):Neo4j中Cypher语言where关键字
WHERE 用于为 MATCH,OPTIONAL MATCH 和 WITH 语句添加过滤条件,来源SQL语言。
限定条件WHERE
# 查询人名为”Peter“或者年纪大于30人名不为”Timothy“的人,或者人名既不为”Timothy“也不为”Peter"的人(进行过滤)
# 查询人名不为”Peter“或者年纪小于30人名为”Timothy“的人,或者人名既不为”Timothy“也不为”Peter"的人(进行过滤)
MATCH (n:Person)
WHERE n.name = 'Peter' XOR (n.age < 30 AND n.name = 'Timothy') OR NOT (n.name = 'Timothy' OR n.name = 'Peter')
RETURN n.name, n.age
对label进行过滤
# 对标签过滤
MATCH (n)
WHERE n:Person
RETURN n.name, n.age# 与下面这个命令作用相同
MATCH (n:Person)
RETURN n.name, n.age
不固定属性的过滤
# 查询Person这个类型标签中age<30的人
with 'AGE' as propname
match (n:Person)
where n[toLower(propname)] < 30
return n.name, n.age
属性存在性校验
# 查询存在age属性的人,如果查询到了返回,查询不到没有任何返回信息
MATCH (n:Person)
WHERE exists(n.age)
RETURN n.name, n.age# 查询存在age属性的人,不管能否查到都有返回信息(查询不到会返回包含key的空字典)
OPTIONAL MATCH (n:Person)
WHERE exists(n.age)
RETURN n.name, n.age
匹配字符串开头
MATCH (n:Person)
WHERE n.name STARTS WITH 'St'
RETURN n.name, n.age
匹配字符串结尾
MATCH (n:Person)
WHERE n.name ENDS WITH 'ter'
RETURN n.name, n.age
匹配字符串包含
MATCH (n:Person)
WHERE n.name CONTAINS 'ete'
RETURN n.name, n.age
NOT 的使用
MATCH (n:Person)
WHERE NOT n.name ENDS WITH 'y'
RETURN n.name, n.age
正则表达式的使用
# 正则匹配=~
MATCH (n:Person)
WHERE n.name =~ 'Tim.*'
RETURN n.name, n.agez# 正则不区分大小写(?i)
MATCH (n:Person)
WHERE n.name =~ '(?i)AND.*'
RETURN n.name, n.age
根据null过滤
# 查询人名为“Peter",年龄为空的人(或者没有年龄属性的人)
MATCH (person:Person)
WHERE person.name = 'Peter' AND person.age IS NULL RETURN person.name
图数据库(七):Neo4j中Cypher语言where关键字相关推荐
- 图数据库(八):Neo4j中Cypher语言with关键字
WITH 用于向后面的语句传递指定结果,并可以改变结果集中实体的形式和数量.注意,WITH 会影响查询结果集里的变量,WITH 语句外的变量不会传递到后续查询中. 对结果进行筛选 # 聚合函数进行筛选 ...
- 图数据库(九):Neo4j中Cypher语言unwind关键字
UNWIND用于将任何列表变回单独的行.这些列表可以是传入的参数,先前编辑的 collect 结果或其他列表表达式.注意UNWIND 需要指定一个新的名称. 列表操作 unwind [1, 2, 3, ...
- 图数据库(neo4j)学习心得
图数据库(neo4j)学习心得 什么是图? 图数据库常用领域 1.社交网络 2.推荐和个性化 3.欺诈识别 4.金融领域 5.汽车制造领域 6.电信领域 图数据库的种类 Neo4j相关特性 数据模型 ...
- neo4j java 模糊搜索,Neo4j 使用cypher语言进行查询
Neo4j是一个Java开发的图数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中.相对于关系数据库来说,图数据库善于处理大量复杂.互连接.低结构化的数据,这些数据变化迅速,需要频繁的查 ...
- 常用的图数据库(Neo4j、FlockDB、AllegroGrap、GraphDB、InfiniteGraph、TITAN、OrientDb)
1. Neo4j Neo4j是一个流行的图形数据库,它是开源的.最近,Neo4j的社区版已经由遵循AGPL许可协议转向了遵循GPL许可协议.尽管如此,Neo4j的企业版依然使用AGPL许可.Neo4j ...
- model存数据_Jepsen 测试框架在图数据库 Nebula Graph 中的实践
在本篇文章中主要介绍图数据库 Nebula Graph 在 Jepsen 这块的实践. Jepsen 简介 Jepsen 是一款用于系统测试的开源软件库,致力于提高分布式数据库.队列.共识系统等的安全 ...
- 【图数据库】Neo4j
Neo4j 是我第一个接触的图数据库,之前对数据库没啥特别大的概念,于是在这里做了一下笔记. 完全是以我们程序员熟悉的 图数据结构存储数据的 , 和常规的关系型数据库哟组合本质的区别,但是又有很多概念 ...
- 如何应对洗钱犯罪的新变化?探索图数据库在反洗钱中的应用
背景导读 洗钱,即对非法资金的合法化过程.它由违法犯罪集团组织,在躲避银行和执法部门监测情况下,利用违法交易手段对非法收益进行转移,是金融犯罪领域最难发现的活动之一.当前,洗钱团伙日趋集团化.规模化和 ...
- 图数据库Neo4j的介绍与使用
Neo4j 是一个高性能的 NoSQL 图形数据库,它将结构化数据存储在网络(从数学角度叫做图)上而不是表中.Neo4j 也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性. 接下来我们 ...
最新文章
- html5 文本框限制,html中input禁止输入(禁止获得焦点)多种方法及input限制数字和长度...
- 小程序页面之间的通讯利器 - nsevent
- Redis 官方可视化工具,功能强大、干净又卫生!
- 【OpenCV3】阈值化操作——cv::threshold()与cv::adaptiveThreshold()详解
- 树莓派:挂载网络存储网络硬盘
- 计算机检测维修与数据恢复课件,2017年全国职业院校技能大赛中职组“计算机检测维修与数据恢复”赛项说明会ppt课件.ppt...
- 发电厂电气部分第三版pdf_火力发电厂电气主接线的特点
- 【C++】由指针常量和常量指针引发的问题
- day10-协程遇到IO操作自动切换
- 推荐系统在滴滴司机调度系统中的应用实践
- Java 性能优化系列之4[Java性能调优工具]
- myeclipse中文界面改颜色_“颜色识别器”安卓APP功能详细介绍
- Docker 命令总结
- LDA话题模型与推荐系统
- IOS fiddler抓包配置
- 计算机类专业本科学生成长四阶段必读四本书推荐
- Ubuntu安装Robo3T(Studio3T Free)
- Android 混淆
- 软件测试优秀员工发言稿,2018软件测试国赛获奖感言|2018年优秀员工获奖感言
- pycharm前进后退
热门文章
- 关于支付宝小程序使用wxbarcode需要生成条形码的源码修改
- 最全curl命令总结【详解】
- android 测试机 怎么root,Android 应用安全 - 检测设备是否Root
- java.io.IOException: Response data error, expect Throwable, but get null
- 剑指offer 青蛙跳楼梯
- cocos2dx android 接入爱贝支付平台sdk记录
- Android -- 多媒体播放之MediaPlayer基础简介
- 两个数字交换的三种方法
- 10 款更先进的开源命令行工具
- Python3-Spyder-urllib.request抓取搜haohuo平台信息-保存到csv