Cypher function conformance
Every Cypher function the openCypher TCK calls, and every function the engine lists that no TCK scenario calls. The two columns are independent. In the engine is read from the engine, not the TCK: a function is implemented unless the engine refuses the name or says the feature is not supported. TCK scenarios counts the scenarios that call the function, passing / total, with — when none runs. A scenario counts for every function it calls, and a scenario can fail for a reason that is not the function: the name of a result column, or the setup. A low count is not proof the function is wrong. The overall rate is on openCypher conformance.
| Function | In the engine | TCK scenarios | Notes |
|---|---|---|---|
abs | implemented | 3 / 4 | |
atan | implemented | — | no TCK scenarios |
atan2 | implemented | — | no TCK scenarios |
avg | implemented | 1 / 6 | |
ceil | implemented | 0 / 1 | |
coalesce | implemented | 28 / 30 | |
collect | implemented | 74 / 96 | 2 skipped |
contains | implemented | — | no TCK scenarios |
cos | implemented | — | no TCK scenarios |
count | implemented | 101 / 183 | 3 skipped |
date | implemented | 153 / 177 | 45 skipped |
date.realtime | implemented | 1 / 1 | |
date.statement | implemented | 1 / 1 | |
date.transaction | implemented | 1 / 1 | |
date.truncate | implemented | 51 / 51 | |
datetime | implemented | 231 / 251 | 169 skipped |
datetime.fromepoch | implemented | 1 / 1 | |
datetime.fromepochmillis | implemented | 1 / 1 | |
datetime.realtime | implemented | 1 / 1 | |
datetime.statement | implemented | 1 / 1 | |
datetime.transaction | implemented | 1 / 1 | |
datetime.truncate | implemented | 74 / 74 | 31 skipped |
decay | implemented | — | no TCK scenarios |
duration | implemented | 46 / 74 | 18 skipped |
duration.between | implemented | 10 / 15 | 18 skipped |
duration.indays | implemented | 10 / 10 | 12 skipped |
duration.inmonths | implemented | 15 / 15 | 12 skipped |
duration.inseconds | implemented | 14 / 15 | 34 skipped |
e | implemented | — | no TCK scenarios |
elementid | implemented | — | no TCK scenarios |
endnode | implemented | 0 / 1 | |
endswith | implemented | — | no TCK scenarios |
exp | implemented | — | no TCK scenarios |
floor | implemented | — | no TCK scenarios |
head | implemented | 1 / 5 | |
id | implemented | — | no TCK scenarios |
key | implemented | — | no TCK scenarios |
keys | implemented | 19 / 28 | |
labels | implemented | 6 / 12 | 10 skipped |
last | implemented | 0 / 1 | |
left | implemented | — | no TCK scenarios |
length | implemented | 5 / 8 | |
localdatetime | implemented | 209 / 234 | 96 skipped |
localdatetime.realtime | implemented | 1 / 1 | |
localdatetime.statement | implemented | 1 / 1 | |
localdatetime.transaction | implemented | 1 / 1 | |
localdatetime.truncate | implemented | 74 / 74 | |
localtime | not supported | — | time types are not in 0.10; 144 skipped |
localtime.realtime | not supported | — | time types are not in 0.10; 1 skipped |
localtime.statement | not supported | — | time types are not in 0.10; 1 skipped |
localtime.transaction | not supported | — | time types are not in 0.10; 1 skipped |
localtime.truncate | not supported | — | time types are not in 0.10; 44 skipped |
log | implemented | — | no TCK scenarios |
log10 | implemented | — | no TCK scenarios |
ltrim | implemented | — | no TCK scenarios |
max | implemented | 22 / 29 | |
min | implemented | 1 / 9 | |
nodes | implemented | 3 / 12 | |
percentilecont | implemented | 6 / 6 | |
percentiledisc | implemented | 6 / 7 | |
pi | implemented | — | no TCK scenarios |
properties | implemented | 6 / 7 | |
rand | implemented | 64 / 65 | |
range | implemented | 77 / 93 | 2 skipped |
relationships | implemented | 2 / 7 | |
replace | implemented | — | no TCK scenarios |
reverse | implemented | 63 / 64 | |
right | implemented | — | no TCK scenarios |
round | implemented | — | no TCK scenarios |
rtrim | implemented | — | no TCK scenarios |
sign | implemented | 0 / 1 | |
sin | implemented | — | no TCK scenarios |
size | implemented | 132 / 151 | 10 skipped |
split | implemented | 1 / 2 | |
sqrt | implemented | 0 / 1 | |
startnode | implemented | 0 / 1 | |
startswith | implemented | — | no TCK scenarios |
substring | implemented | 1 / 1 | |
sum | implemented | 7 / 31 | |
tail | implemented | 0 / 9 | |
tan | implemented | — | no TCK scenarios |
textmatches | implemented | — | no TCK scenarios |
time | not supported | — | time types are not in 0.10; 149 skipped |
time.realtime | not supported | — | time types are not in 0.10; 1 skipped |
time.statement | not supported | — | time types are not in 0.10; 1 skipped |
time.transaction | not supported | — | time types are not in 0.10; 1 skipped |
time.truncate | not supported | — | time types are not in 0.10; 48 skipped |
toboolean | implemented | 4 / 10 | |
tobooleanornull | implemented | — | no TCK scenarios |
tofloat | implemented | 5 / 11 | |
tofloatornull | implemented | — | no TCK scenarios |
tointeger | implemented | 11 / 18 | |
tointegerornull | implemented | — | no TCK scenarios |
tolower | implemented | 1 / 1 | |
tostring | implemented | 22 / 29 | 3 skipped |
toupper | implemented | — | no TCK scenarios |
trim | implemented | — | no TCK scenarios |
type | implemented | 13 / 16 | 1 skipped |