斷言函數 - 計算並返回 true / false 值java
all( 變量 IN 集合 斷言) // 判斷是否一個斷言適用於全部元素 all( x in nodes(p) where x.age>30 )node
any(變量 IN 集合 斷言) // 判斷是否一個斷言適用於列表中的一個元素 any( x in a.array where x ='b') 數據庫
none(變量 IN 集合 斷言) //斷言不適用於列表中的全部元素 none(x in nodes(p) where x.age=25 ) 函數
single(變量 IN 集合 斷言) //斷言恰好匹配至一個元素 single(x in nodes(p) where x.age=25 ) ip
exists(模式 或 屬性) //只能用在節點的屬性,或關係的屬性 或 模式 exists(x.age) | exists( (n)-[:User]->(b) ) 字符串
標量函數 -- 返回一個單值部署
size( list ) //返回表中元素的個數 size([1,2,3])
size( pattern exp ) //計算結果集元素的個數,而不是表達式自己的長度 size( (a)-->()-->() )string
length( path ) // 返回路徑的長度 length( (a)-->()-->() )
length( string ) //字符串長度 length( n.name )it
type( 關係 ) //關係類型 io
id(節點/關係) // 返回id
coalesce(exp,exp) //返回第一個非空值 ,若是都爲空,返回 null coalesce(a.age,a.name,a.userId)
head(exp) //返回列表中的第一個元素 head(a.array)
last(exp) //返回列表中的最後一個元素
timestamp() //系統時間戳 13 位
startNode( 關係 ) // 返回一個關係的開始節點 startNode(r)
endNode( 關係 ) //返回一個關係的 結束節點 endNode(r)
properies() //返回節點或關係的全部屬性
toInt() //字符串轉爲整形,若是失敗返回 null . 浮點轉爲整數
toFloat() //同上
列表函數 -- 返回列表中的元素
nodes( path ) //返回一條路徑中的全部節點 nodes( (a)-->()-->() )
relationships( path ) //返回一條路徑中的全部關係
labels( node ) //返回節點的標籤
keys( 節點/關係/map ) //返回節點/關係/map 的屬性的 key
extract( 變量 in 集合 | exp ) //至關於 java stream.map (映射) extract( n in nodes(p) | n.name )
filter( 變量 IN 集合 斷言 ) //過濾
tail( exp ) //返回列表中除了首元素以後的全部元素
range( start, end [, step] ) //返回範圍內的數 range(1,100)
reduce( acc= init , 變量 in 集合 | exp ) //至關於 java stream.reduce reduce( total = 0, n in nodes(p) | total+n.age )
數值函數
abs()
ceil()
floor()
round()
sign()
rand()
對數函數
log()
log10()
exp()
e()
sqrt()
三角函數
sin()
cos()
tan()
cot()
asin()
acos()
atan()
atan2()
pi()
degrees()
radians()
haversin()
字符串函數
replace( orininal , search , replace )
substring( original , start , [, length] )
left( original , length )
right( original , length )
ltrim( original )
rtrim( original )
trim( original )
lower( original )
upper( original )
split( original ,split) //分割
reverse( original ) //反轉
toString( exp ) toString(10) toString(true)
自定義函數
用java 編寫,部署到數據庫中。