博客
关于我
neo4j
阅读量:797 次
发布时间:2023-04-03

本文共 1895 字,大约阅读时间需要 6 分钟。

Cypher 基础操作指南

布尔逻辑判断

Cypher 提供了强大的布尔逻辑操作,可以通过 ANDORXORNOT 进行复杂的条件判断。

示例:

MATCH (n)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

节点标签过滤

可以通过节点标签过滤符合特定标签的节点。

示例:

MATCH (n)WHERE n:SwedishRETURN n.name, n.age

节点属性过滤

通过节点属性过滤可以快速筛选出符合特定条件的节点。

示例:

MATCH (n)WHERE n.age < 30RETURN n.name, n.age

关系属性过滤

可以通过关系属性过滤来获取满足特定关系条件的节点。

示例:

MATCH (n)-[k:KNOWS]->(f)WHERE k.since < 2000RETURN f.name, f.age, f.email

动态节点属性过滤

通过动态节点属性过滤,可以灵活地根据属性名进行过滤。

示例:

WITH 'AGE' AS propnameMATCH (n)WHERE n[toLower(propname)] < 30RETURN n.name, n.age

属性是否存在过滤

可以通过检查属性是否存在来过滤节点。

示例:

MATCH (n)WHERE exists(n.belt)RETURN n.name, n.belt

字符串过滤

通过字符串操作可以快速筛选出符合特定模式的节点。

开头过滤

示例:

MATCH (n)WHERE n.name STARTS WITH 'Pet'RETURN n.name, n.age

结尾过滤

示例:

MATCH (n)WHERE n.name ENDS WITH 'ter'RETURN n.name, n.age

包含过滤

示例:

MATCH (n)WHERE n.name CONTAINS 'ete'RETURN n.name, n.age

否定过滤

示例:

MATCH (n)WHERE NOT n.name ENDS WITH 'y'RETURN n.name, n.age

正则表达式

通过正则表达式可以对字符串属性进行更复杂的匹配。

转义

示例:

MATCH (n)WHERE n.email =~ '.*\\.com'RETURN n.name, n.age, n.email

大小写敏感

示例:

MATCH (n)WHERE n.name =~ '(?i)AND.*'RETURN n.name, n.age

路径

简单路径

示例:

MATCH (timothy { name: 'Timothy' }),(others)WHERE others.name IN ['Andy', 'Peter'] AND (timothy)-->(others)RETURN others.name, others.age

否定路径

示例:

MATCH (persons),(peter { name: 'Peter' })WHERE NOT (persons)-->(peter)RETURN persons.name, persons.age

路径属性

示例:

MATCH (n)WHERE (n)-[:KNOWS]-({ name: 'Timothy' })RETURN n.name, n.age

关系类型

示例:

MATCH (n)-[r]->()WHERE n.name='Andy' AND type(r)=~ 'K.*'RETURN type(r), r.since

列表

节点列表

示例:

MATCH (a)WHERE a.name IN ['Peter', 'Timothy']RETURN a.name, a.age

缺失属性和值

缺失属性过滤

示例:

MATCH (n)WHERE exists(n.belt)RETURN n.name, n.belt

使用范围

比较操作

示例:

MATCH (a)WHERE a.name >= 'Peter'RETURN a.name, a.age

逻辑连接词

示例:

MATCH (a)WHERE a.name > 'Andy' AND a.name < 'Timothy'RETURN a.name, a.age

转载地址:http://fgefk.baihongyu.com/

你可能感兴趣的文章
opencv之模糊处理
查看>>
opencv保存图片路径包含中文乱码解决方案
查看>>
opencv图像分割2-GMM
查看>>
OpenCV学习(13) 细化算法(1)(转)
查看>>
OpenCV探索
查看>>
opencv笔记(1):图像缩放
查看>>
OpenCV(1)读写图像
查看>>
OpenCV:概念、历史、应用场景示例、核心模块、安装配置
查看>>
Openlayers Source基础及重点内容讲解
查看>>
openlayers 入门教程(八):Geoms 篇
查看>>
Openlayers中点击地图获取坐标并输出
查看>>
Openlayers图文版实战,vue项目从0到1做基础配置
查看>>
Openlayers实战:modifystart、modifyend互动示例
查看>>
Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
查看>>
Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
查看>>
Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
查看>>
Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
查看>>
Openlayers高级交互(8/20):选取feature,平移feature
查看>>
openlayers:圆孔相机根据卫星经度、纬度、高度、半径比例推算绘制地面的拍摄的区域
查看>>
OpenLDAP(2.4.3x)服务器搭建及配置说明
查看>>