3.2.2 表達(dá)式
3.2.2.1 概述
Cypher中的表達(dá)式如下:
● 十進(jìn)制(整型和雙精度型)的字面值:13、-4000、3.14、6.022E23。
● 十六進(jìn)制整型字面值(以0x開頭):0x13zf、0xFC3A9、-0x66eff。
● 八進(jìn)制整型字面值(以0開頭):01372、02127、-05671。
● 字符串字面值:'Hello'、"World"。
● 布爾字面值:true、false、TRUE、FALSE。
● 變量:n、x、rel、myFancyVariable、`A name with weird stuff in it[]!`。
● 屬性:n.prop、x.prop、rel.thisProperty、myFancyVariable. `(weird property name)`。
● 動(dòng)態(tài)屬性:n["prop"]、rel[n.city + n.zip]、map[coll[0]]。
● 參數(shù):$param、$0。
● 表達(dá)式列表:['a', 'b']、[1, 2, 3]、['a', 2, n.property, $param]、[ ]。
● 函數(shù)調(diào)用:length(p)、nodes(p)。
● 聚合函數(shù):avg(x.prop)、count(*)。
● 路徑-模式:(a)-->()<--(b)。
● 計(jì)算式:1 + 2 and 3 < 4。
● 返回true或者false的斷言表達(dá)式:a.prop = 'Hello'、length(p) >10、exists(a.name)。
● 正則表達(dá)式:a.name =~ 'Tob.*'。
● 大小寫敏感的字符串匹配表達(dá)式:a.surname STARTS WITH 'Sven'、a.surname ENDS WITH'son' or a.surname CONTAINS 'son'。
● CASE表達(dá)式。
3.2.2.2 轉(zhuǎn)義字符
Cypher中的字符串可以包含的轉(zhuǎn)義字符如表3-1所示。
表3-1 Cypher中的字符串可以包含的轉(zhuǎn)義字符

3.2.2.3 Case表達(dá)式
Cypher支持Case條件表達(dá)式,它類似于其他語(yǔ)言中的if/else語(yǔ)句。
1.簡(jiǎn)單的Case表達(dá)式
計(jì)算表達(dá)式的值,然后依次與WHEN語(yǔ)句中的表達(dá)式進(jìn)行比較,直到匹配上為止。如果未匹配上,則ELSE中的表達(dá)式將作為結(jié)果。如果ELSE語(yǔ)句不存在,那么將返回null。
語(yǔ)法:

參數(shù):
● test:一個(gè)有效的表達(dá)式。
● value:一個(gè)表達(dá)式,它的結(jié)果將與test表達(dá)式的結(jié)果進(jìn)行比較。
● result:如果value表達(dá)式能夠與test表達(dá)式匹配,則它將作為結(jié)果表達(dá)式。
● default:沒有匹配的情況下的默認(rèn)返回表達(dá)式。
查詢:

結(jié)果:

2.一般的Case表達(dá)式
按順序判斷斷言,直到找到true為止,然后對(duì)應(yīng)的結(jié)果被返回。如果沒有找到,就返回ELSE的值。如果沒有ELSE語(yǔ)句,則返回null。
語(yǔ)法:

參數(shù):
● predicate:判斷的斷言,以找到一個(gè)有效的可選項(xiàng)。
● result:如果predicate匹配到,result就作為結(jié)果表達(dá)式。
● default:沒有匹配到情況下,默認(rèn)返回表達(dá)式。
查詢:

結(jié)果:

- 公有云容器化指南:騰訊云TKE實(shí)戰(zhàn)與應(yīng)用
- 大數(shù)據(jù)技術(shù)基礎(chǔ)
- Unity 5.x Game AI Programming Cookbook
- Oracle RAC 11g實(shí)戰(zhàn)指南
- 大數(shù)據(jù)導(dǎo)論
- MySQL基礎(chǔ)教程
- PySpark大數(shù)據(jù)分析與應(yīng)用
- Creating Dynamic UIs with Android Fragments(Second Edition)
- Remote Usability Testing
- “互聯(lián)網(wǎng)+”時(shí)代立體化計(jì)算機(jī)組
- 重復(fù)數(shù)據(jù)刪除技術(shù):面向大數(shù)據(jù)管理的縮減技術(shù)
- 數(shù)據(jù)科學(xué)實(shí)戰(zhàn)指南
- 一本書講透Elasticsearch:原理、進(jìn)階與工程實(shí)踐
- Unreal Engine Virtual Reality Quick Start Guide
- Spring MVC Beginner’s Guide