【知识图谱系列】-【Neo4j】之Cypher 二

cypher语句

语句描述
match~语句通过模式(Pattern)来检索数据库
optinal match~匹配模式与match类似,不同之处在于,如果没有匹配到,将null作为未匹配到部分的值
where~不能单独使用,只能作为match、optinal match语句中添加约束
create~用于创建图元素:节点和关系
merge~或者匹配已存在的节点并绑定到它,或者创建新的然后绑定它
set~用于更新节点的标签以及节点和关系的属性
delete~用于删除图元素(节点,关系或路径)
detach delete~用于同时删除节点和关系
remove~用于删除图元素的属性和标签
foreach~用于更新列表中的数据,或者来自路径的组件,或者聚合的结果
create unique尽可能地匹配,然后创建未匹配到的。相当于match和create的混合体(多个匹配会报错)
return~定义了查询结果集中返回的内容
order by~是紧跟return或者with的子句,它指定了输出的结果应该如何排序
order by X desc将以逆序(降序)对输出进行排序
limit~限制输出的行数,其可接受结果为正整数的任意表达式,表达式不能引用节点或关系
skip~定义了从哪行开始返回结果
with~将分段的查询部分连接在一起,查询结果从一部分以管道形式传递给另外一部分作为开始点(常见用法就是限制传递给其他match语句的结果数)
unwind~将一个列表展开为一个行的序列
union~用于将多个查询结果组合起来,union all将包含所有结果;union返回的结果集中会去掉重复值
call~用于调用数据库中的过程

cypher函数

类别函数名描述
断言(Predicate)函数给定输入返回True或False
all()判断是否一个断言适用于列表中的所有元素
any()判断是否一个断言至少适用于列表中的一个元素
none()如果断言不适用于列表中的任何元素,则返回True
single()如果断言刚好只适用于列表中的某一个元素,则返回True
exists()如果数据库中存在该模式或者节点中存在该属性时,则返回True
标量(Scalar)标量函数返回一个单值
size()返回表中元素的个数
length()返回路径的长度
type()返回字符串代表的关系类型
id()返回关系或者节点的id
coalesce()返回表达式列表中的第一个非空的值
head()返回列表中的第一个元素
last()返回列表中的最后一个元素
timestamp()返回当前时间与1970年1月1日午夜之间的差值,单位为毫秒
startNode()返回一个关系的开始节点
endNode()返回一个关系的结束节点
properties()将实参转为属性值的map
tolnt()将实参转换为一个整数
toFloat()将实参转换为浮点数
列表(List)函数列表函数返回列表中的元素
nodes()返回一条路径中的所有节点
relationships()返回一条路径中的所有关系
labels()以字符串列表的形式返回一个节点的所有标签
keys()以字符串列表的形式返回一个节点、关系或者map的所有属性的名称
extract()使用~从节点或关系列表中返回单个属性或者某个函数的值
filter()返回列表中满足断言要求的所有元素
tail()返回列表中除了首元素之外的所有元素
range()返回某个范围内的值,range(start,end,[,step]),step默认为1
reduce()~对列表中的每个元素执行一个表达式,将表达式结果存入一个累加器
数学函数这些函数仅适用于数值表达式
abs()~返回数值的绝对值
ceil()~返回大于或等于实参的最小整数
floor()~返回小于等于表达式的最大的整数
round()~返回距离表达式值最近的整数
sign()~返回一个数值的正负。值为零返回0;值为正数返回1;值为负数返回-1
rand()~返回[0,1)之间的一个随机数,返回的数值在整个区间遵循均匀分布
- 对数函数log()~返回表达式的自然对数
log10()~返回表达式的常用对数(以10为底)
exp()~返回e^n,这里e是自然对数的底,n为实参值
e()~返回自然对数的底e的值
sqrt()~返回数值的平方根
- 三角函数sin()~返回表达式的正弦函数值
cos()~返回表达式的余弦函数值
tan()~返回表达式的正切值
cot()~返回表达式的余切值
asin()~返回表达式的反正弦值
acos()~返回表达式的反余弦值
atan()~返回表达式的反正切值
atan2()~返回方位角,即计算复数x+yi的幅角
pi()~返回常数pi的数值
degrees()~将弧度转为度
radians()~将度转为弧度
haversin()~返回表达式的半正矢(可用于计算球面两点(以经纬度方式给出)之间的距离)
字符串函数针对字符串表达式
replace()~返回替换后的字符串,repalce(‘hello’,‘l’,’'w)->‘hewwo’
substring()~返回原字符串的子串,substring(‘hello’,1,3)->‘ell’
left()~返回原字符串左边指定长度的子串,left(‘hello’,3)->‘hel’
right()~返回原字符串右边指定长度的子串,right(‘hello’,3)->‘llo’
ltrim()~返回原字符串移除左侧空白字符后的字符串,ltrim(’ hello’)->‘hello’
rtrim()~返回原字符串移除右侧空白字符后的字符串,ltrim('hello ')->‘hello’
trim()~返回原字符串移除两侧空白字符后的字符串,trim(’ hello ')->‘hello’
lower()~以小写的形式返回原字符串
upper()~以大写形式返回原字符串
split()~返回以指定模式分隔后的字符串序列,split(‘one,two’,’,’)->[‘one’,‘two’]
reverse()~返回原字符串的倒序字符串
toString()~将实参转换为字符串

cypher用到的其他函数或语句

函数描述
case条件表达式,类似于if / else
start with匹配字符串开始
end with匹配字符串结尾
contains用于检查字符串是够包含某个字符串
not返回不满足给定字符串匹配要求的结果
正则表达式=~‘正则语句’
in检查列表中是否存在某个元素,可以使用in运算符
is null如果不存在
and
or
<,>=,>不等运算符
count()聚合函数,用于计算行的数量;计算非空值的数量
sum聚合函数,计算所有值之和,空值将被丢弃
avg计算数值列的平均值
percentileDisc计算给定值在一个组中的百分位,取值0.0到1.0,舍入法,返回最接近百分位的值
percentileCont计算给定值在一个组中的百分位,取值0.0到1.0,线性插值法,在两个值之间计算一个加权平均数
stdev计算给定值在一个组中的标准偏差,采用标准two-pass方法,以N-1作为分母,在以部分样本作为无偏估计时使用
stdevp计算给定值在一个组中的标准偏差,当计算整个样本的标准偏差时使用
max查找数值列中最大值
min查找数值列中最小值
collect将所有值收集起来放入一个列表,空值null将被忽略
distinct所有聚合函数均可带~修饰符,其可剔除重复部分
+=添加多个属性
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风吹半夏灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值