Neo4j的Cypher文档-2.0Cypher的表达式

Cypher的一般表达式

  • 数字表达式
  • 科学计数法的数字表达式
  • 。。。。上一节中所有可以构成表达式的数据类型
  • 一个变量 n, x, rel, `A name with weird stuff in it[]!
  • 一个属性 n.prop, x.prop, rel.thisProperty, myFancyVariable.(weird property name).
  • 一个动态属性 n[“prop”], rel[n.city + n.zip], map[coll[0]].
  • 一个参数 $param, $0.
  • 一个List [‘a’, ‘b’], [1, 2, 3], [‘a’, 2, n.property, $param], [].
  • 一个函数调用 length(p ), nodes(p )
  • 统计函数 avg(x.prop), count(*)
  • 一个Path (a)-[r]->(b), (a)-[r]-(b), (a)–(b), (a)–>()<–(b)
    其他表达式构成
    在这里插入图片描述

CASE表达式:

case简单形式

CASE test
  WHEN value THEN result
  [WHEN ...]
  [ELSE default]
END

这里的[]表示可以有也可以没有,其他字段的意思如下:
在这里插入图片描述
通过上面的式子进行条件判断,相当于是Cypher中的if…else语句。计算表达式,并按顺序与WHEN子句进行比较,直到找到匹配项。如果未找到匹配项,ELSE则返回子句中的表达式。但是,如果没有ELSEcase 并且没有找到匹配项,null则会返回,下面举一个例子
在这里插入图片描述按照眼睛颜色的不同输出不同的结果

MATCH (n)
RETURN
CASE n.eyes
  WHEN 'blue'  THEN 1
  WHEN 'brown' THEN 2
  ELSE 3
END AS result

case的通用形式:

case的通用形式允许把不同的表达式设置为判断条件,而不是只进行值的判断,如下:

MATCH (n)
RETURN
CASE
  WHEN n.eyes = 'blue' THEN 1
  WHEN n.age < 40      THEN 2
  ELSE 3
END AS result
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值