天天看點

Neo4j-Cypher查詢語言-函數

斷言函數(Predicate functions) 

函數名稱 函數說明
ALL(identifier in collection WHERE predicate) 判斷一個斷言(predicate)是否滿足集合(collection)裡的所有元素
ANY(identifier in collection WHERE predicate) 判斷一個斷言(predicate)是否至少滿足集合(collection)裡的一個元素
NONE(identifier in collection WHERE predicate) 如果集合(collection)裡的元素不滿足斷言(predicate)則傳回true
SINGLE(identifier in collection WHERE predicate) 如果集合(collection)裡的隻有一個元素滿足斷言(predicate)則傳回true

标量函數(Scalar functions)

LENGTH( collection ) 傳回集合的元素個數
TYPE( relationship ) 傳回關系的類型
ID( property-container ) 傳回節點或者關系的ID
COALESCE( expression [, expression]* ) 傳回expressions清單裡第一個不為空的值
HEAD( expression ) 傳回一個集合 (collection)  裡的第一個元素
LAST( expression ) 傳回一個集合 (collection)  裡最後一個元素

集合函數(Collection functions)

NODES( path ) 傳回一個路徑的所有節點
RELATIONSHIPS( path ) 傳回一個路徑的所有關系
EXTRACT( identifier in collection : expression ) 傳回一個結果集合:對集合(collection)的所有元素執行expression的操作得到的結果
FILTER(identifier in collection : predicate) 傳回集合(collection)中所有滿足斷言(predicate)的元素組成的集合
TAIL( expression ) 傳回集合中除了第一個之外的所有元素
RANGE( start, end [, step] ) 傳回從start開始,end結束(閉區間)内步長為step(非0)的所有整數數字

數學函數(Mathematical functions)

ABS( expression ) 傳回expression得到的數值的絕對值
ROUND( expression ) 取整函數:傳回小于等于expression得到的數值的最大整數(還是傳回離expression得到的數值最近的整數??)
SQRT( expression ) 傳回expression得到的數值的平方根
SIGN( expression ) 符号函數:如果expression得到的數值,為0則傳回0;為負數則傳回-1;為正數則傳回1

聚合函數(Aggregate functions)

COUNT( expression ) 傳回expression得到的結果的個數,expression也可為"*"
SUM( expression ) 傳回expression得到結果相加的和
AVG( expression ) 傳回expression得到結果的平均值
MAX( expression ) 傳回expression得到結果的最大值
MIN( expression ) 傳回expression得到結果的最小值
COLLECT( expression ) 把expression得到的結果以list的形式傳回

所有的聚合操作都能使用DISTINCT操作原文位址:https://www.iteye.com/blog/hugh-wangp-1849944