3.4.2 標量函數
標量(Scalar)函數返回一個單值。Scalar圖例如圖3-24所示。
提示:length()和size()函數非常相似,因此弄清它們的區別就顯得很重要。為了保持向后兼容,length()目前只適用于4種類型:字符串、路徑、列表和模式表達式。然而,為了清晰起見,推薦僅僅在字符串和路徑上使用length(),在列表和模式表達式上使用新的size()函數。length()在這些類型上的功能在將來可能被棄用。

圖3-24 Scalar圖例
3.4.2.1 size()
使用size()返回表中元素的個數。
語法:size(list)
參數:
● list:返回列表的表達式。
查詢:

本查詢返回了列表中元素的個數。
結果:

3.4.2.2 模式表達式的size
這里的size()的參數不是一個列表,而是一個模式表達式匹配到的查詢結果集。計算的是結果集元素的個數,而不是表達式本身的長度。
語法:size(pattern expression)
參數:
● pattern expression:返回列表的模式表達式。
查詢:

本查詢返回了模式表達式匹配到的子圖的個數。
結果:

3.4.2.3 length()
使用length()函數返回路徑的長度。
語法:length(path)
參數:
● path:返回路徑的表達式。
查詢:

本查詢返回路徑p的長度。
結果:

3.4.2.4 字符串的長度
語法:length(string)
參數:
● string:返回字符串的表達式。
查詢:

本查詢返回了name為Charlie的長度。
結果:

3.4.2.5 type()
返回字符串代表的關系類型。
語法:type(relationship)
參數:
● relationship:一個關系。
查詢:

本查詢返回了關系r的關系類型。
結果:

3.4.2.6 id()
返回關系或者節點的id。
語法:id(property-container)
參數:
● property-container:一個節點或者關系。
查詢:

本查詢返回了5個節點的id。
結果:

3.4.2.7 coalesce()
返回表達式列表中的第一個非空的值。如果所有的實參都為空,則返回null。
語法:coalesce(expression [, expression]*)
參數:
● expression:表達式,可能返回null。
查詢:

結果:

3.4.2.8 head()
head()返回列表中的第一個元素。
語法:head(expression)
參數:
● expression:返回列表的表達式。
查詢:

結果將返回路徑中的第一個節點。
結果:

3.4.2.9 last()
last()返回列表中的最后一個元素。
語法:last(expression)
參數:
● expression:返回列表的表達式。
查詢:

結果將返回路徑中的最后一個節點。
結果:

3.4.2.10 timestamp()
timestamp()返回當前時間與1970年1月1日午夜之間的差值,單位以毫秒計算。它在整個查詢中始終返回同一個值,即使是在一個運行時間很長的查詢中。
語法:timestamp()
參數:無
查詢:

以毫秒返回當前時間。
結果:

3.4.2.11 startNode()
startNode()返回關系的開始節點。
語法:startNode(relationship)
參數:
● relationship:返回關系的表達式。
查詢:

結果:

3.4.2.12 endNode()
endNode()返回關系的結束節點。
語法:endNode(relationship)
參數:
● relationship:返回關系的表達式。
查詢:

結果:

3.4.2.13 properties()
properties()將實參轉為屬性值的map。如果實參是一個節點或者關系,返回的就是節點或關系的屬性的map;如果實參已經是一個map了,那么原樣返回結果。
語法:properties(expression)
參數:
● expression:返回節點、關系或者map的表達式。
查詢:

結果:

3.4.2.14 toInt()
toInt()將實參轉換為一個整數。字符串會被解析為一個整數,如果解析失敗,將返回null。浮點數將被強制轉換為整數。
語法:toInt(expression)
參數:
● expression:返回任意值的表達式。
查詢:

結果:

3.4.2.15 toFloat
toFloat()將實參轉換為浮點數。字符串會被解析為一個浮點數,如果解析失敗,將返回null。整數將被強制轉換為浮點數。
語法:toFloat(expression)
參數:
● expression:返回任意值的表達式。
查詢:

結果:
