Skip to content

Functions Implementation Matrix

Peter Styk edited this page Apr 8, 2019 · 2 revisions

This table represents current and future priorities for implementation of Cypher functions. [WIP]

Predicate functions

Name
all()
any()
exists()
none()
single()

Scalar functions

Name
coalesce()
endNode()
head()
id()
last()
length()
properties()
randomUUID()
size()
size() applied to pattern expression
size() applied to string
startNode()
timestamp()
toBoolean()
toFloat()
toInteger()
type()

Aggregating functions

Name
avg() - Numeric values
avg() - Durations
collect()
count()
max()
min()
percentileCont()
percentileDisc()
stDev()
stDevP()
sum() - Numeric values
sum() - Durations

List functions

Name
extract()
filter()
keys()
labels()
nodes()
range()
reduce()
relationships()
reverse()
tail()

Mathematical functions - numeric

Name
abs()
ceil()
floor()
rand()
round()
sign()

Mathematical functions - logarithmic

Name
e()
exp()
log()
log10()
sqrt()

Mathematical functions - trigonometric

Name
acos()
asin()
atan()
atan2()
cos()
cot()
degrees()
haversin()
pi()
radians()
sin()
tan()

String functions

Name
left()
lTrim()
replace()
reverse()
right()
rTrim()
split()
substring()
toLower()
toString()
toUpper()
trim()

Temporal functions - instant types

Name
date()
date.transaction()
date.statement()
date.realtime()
date({year [, month, day]})
date({year [, week, dayOfWeek]})
date({year [, quarter, dayOfQuarter]})
date({year [, ordinalDay]})
date(string)
date({map})
date.truncate()
datetime()
datetime.transaction()
datetime.statement()
datetime.realtime()
datetime({year [, month, day, …​]})
datetime({year [, week, dayOfWeek, …​]})
datetime({year [, quarter, dayOfQuarter, …​]})
datetime({year [, ordinalDay, …​]})
datetime(string)
datetime({map})
datetime({epochSeconds})
datetime.truncate()
localdatetime()
localdatetime.transaction()
localdatetime.statement()
localdatetime.realtime()
localdatetime({year [, month, day, …​]})
localdatetime({year [, week, dayOfWeek, …​]})
localdatetime({year [, quarter, dayOfQuarter, …​]})
localdatetime({year [, ordinalDay, …​]})
localdatetime(string)
localdatetime({map})
localdatetime.truncate()
localtime()
localtime.transaction()
localtime.statement()
localtime.realtime()
localtime({hour [, minute, second, …​]})
localtime(string)
localtime({time [, hour, …​]})
localtime.truncate()
time()
time.transaction()
time.statement()
time.realtime()
time({hour [, minute, …​]})
time(string)
time({time [, hour, …​, timezone]})
time.truncate()

Temporal functions - duration

Name
duration({map})
duration(string)
duration.between()
duration.inMonths()
duration.inDays()
duration.inSeconds()

Spatial functions

Name
distance()
point() - Cartesian 2D
point() - Cartesian 3D
point() - WGS 84 2D
point() - WGS 84 3D

User-defined functions

TBD