# Quine Cypher Functions¶

## Built-In Cypher Functions¶

These are functions that are part of the Cypher language.

### Predicate Functions¶

Predicate functions return either true or false for the given arguments.

Function | Syntax | Description |
---|---|---|

`IS NOT NULL` |
`property IS NOT NULL` |
Returns true if the specified property exists in the node, relationship or map. |

### Scalar Functions¶

Scalar functions return a single value.

Function | Syntax | Description |
---|---|---|

`coalesce()` |
`coalesce(expression [, expression]*)` |
Returns the first non-null value in a list of expressions. |

`endNode()` |
`endNode(relationship)` |
Returns the end node of a relationship. |

`head()` |
`head(list)` |
Returns the first element in a list. |

`id()` |
`id(expression)` |
Returns the id of a relationship or node. |

`last()` |
`last(expression)` |
Returns the last element in a list. |

`length()` |
`length(path)` |
Returns the length of a path. |

`properties()` |
`properties(expression)` |
Returns a map containing all the properties of a node or relationship. |

`size()` |
`size(list)` |
Returns the number of items in a list. |

`size()` |
`size(pattern expression)` |
Applied to pattern expression, returns the number of sub-graphs matching the pattern expression. |

`size()` |
`size(string)` |
Applied to string, returns the size of a string. |

`startNode()` |
`startNode(relationship)` |
Returns the start node of a relationship. |

`timestamp()` |
`timestamp()` |
Returns the difference, measured in milliseconds, between the current time and midnight, January 1, 1970 UTC. |

`toBoolean()` |
`toBoolean(expression)` |
Converts a string value to a boolean value. |

`toFloat()` |
`toFloat(expression)` |
Converts an integer or string value to a floating point number. |

`toInteger()` |
`toInteger(expression)` |
Converts a floating point or string value to an integer value. |

`type()` |
`type(relationship)` |
Returns the string representation of the relationship type. |

### Aggregating Functions¶

These functions take multiple values as arguments, and calculate and return an aggregated value from them.

Function | Syntax | Description |
---|---|---|

`avg()` |
`avg(expression)` |
Returns the average of a set of numeric values. |

`collect()` |
`collect(expression)` |
Returns a list containing the values returned by an expression. |

`count()` |
`count(expression)` |
Returns the number of values or records. |

`max()` |
`max(expression)` |
Returns the maximum value in a set of values. |

`min()` |
`min(expression)` |
Returns the minimum value in a set of values. |

`percentileCont()` |
`percentileCont(expression, percentile)` |
Returns the percentile of a value over a group using linear interpolation. |

`percentileDisc()` |
`percentileDisc(expression, percentile)` |
Returns the nearest value to the given percentile over a group using a rounding method. |

`stDev()` |
`stDev(expression)` |
Returns the standard deviation for the given value over a group for a sample of a population. |

`stDevP()` |
`stDevP(expression)` |
Returns the standard deviation for the given value over a group for an entire population. |

`sum()` |
`sum(expression)` |
Returns the sum of a set of numeric values. |

### List Functions¶

These functions return lists of other values.

Function | Syntax | Description |
---|---|---|

`keys()` |
`keys(expression)` |
Returns a list containing the string representations for all the property names of a node, relationship, or map. |

`labels()` |
`labels(node)` |
Returns a list containing the string representations for all the labels of a node. |

`nodes()` |
`nodes(path)` |
Returns a list containing all the nodes in a path. |

`range()` |
`range(start, end [, step])` |
Returns a list comprising all integer values within a specified range. |

`relationships()` |
`relationships(path)` |
Returns a list containing all the relationships in a path. |

`reverse()` |
`reverse(original)` |
Returns a list in which the order of all elements in the original list have been reversed. |

`tail()` |
`tail(list)` |
Returns all but the first element in a list. |

### Mathematical Functions¶

These numeric functions all operate on numerical expressions only, and will return an error if used on any other values.

Function | Syntax | Description |
---|---|---|

`abs()` |
`abs(expression)` |
Returns the absolute value of a number. |

`ceil()` |
`ceil(expression)` |
Returns the smallest floating point number that is greater than or equal to a number and equal to a mathematical integer. |

`floor()` |
`floor(expression)` |
Returns the largest floating point number that is less than or equal to a number and equal to a mathematical integer. |

`rand()` |
`rand()` |
Returns a random floating point number in the range from 0 (inclusive) to 1 (exclusive); i.e. [0,1). |

`round()` |
`round(expression [, precision, mode])` |
Returns the floating point value of a number rounded to the nearest integer, or optionally as specified by `precision` and `mode` . `precision` should be an integer. Rounding `mode` should be one of: `UP` , `DOWN` , `CEILING` , `FLOOR` , `HALF_UP` , `HALF_DOWN` , `HALF_EVEN` , or `UNNECESSARY` . The default rounding mode is `HALF_UP` . |

`sign()` |
`sign(expression)` |
Returns the signum of a number: 0 if the number is 0, -1 for any negative number, and 1 for any positive number. |

These logarithmic functions all operate on numerical expressions only, and will return an error if used on any other values.

Function | Syntax | Description |
---|---|---|

`e()` |
`e()` |
Returns the base of the natural logarithm, e. |

`exp()` |
`exp(expression)` |
Returns e^n, where e is the base of the natural logarithm, and n is the value of the argument expression. |

`log()` |
`log(expression)` |
Returns the natural logarithm of a number. |

`log10()` |
`log10(expression)` |
Returns the common logarithm (base 10) of a number. |

`sqrt()` |
`sqrt(expression)` |
Returns the square root of a number. |

All trigonometric functions operate on radians, unless otherwise specified.

Function | Syntax | Description |
---|---|---|

`acos()` |
`acos(expression)` |
Returns the arccosine of a number in radians. |

`asin()` |
`asin(expression)` |
Returns the arcsine of a number in radians. |

`atan()` |
`atan(expression)` |
Returns the arctangent of a number in radians. |

`atan2()` |
`atan2(expression1, expression2)` |
Returns the arctangent2 of a set of coordinates in radians. |

`cos()` |
`cos(expression)` |
Returns the cosine of a number. |

`cot()` |
`cot(expression)` |
Returns the cotangent of a number. |

`degrees()` |
`degrees(expression)` |
Converts radians to degrees. |

`pi()` |
`pi()` |
Returns the mathematical constant pi. |

`radians()` |
`radians(expression)` |
Converts degrees to radians. |

`sin()` |
`sin(expression)` |
Returns the sine of a number. |

`tan()` |
`tan(expression)` |
Returns the tangent of a number. |

### String Functions¶

These functions are used to manipulate strings or to create a string representation of another value.

Function | Syntax | Description |
---|---|---|

`left()` |
`left(original, length)` |
Returns a string containing the specified number of leftmost characters of the original string. |

`lTrim()` |
`lTrim(original)` |
Returns the original string with leading whitespace removed. |

`replace()` |
`replace(original, search, replace)` |
Returns a string in which all occurrences of a specified string in the original string have been replaced by another (specified) string. |

`reverse()` |
`reverse(original)` |
Returns a string in which the order of all characters in the original string have been reversed. |

`right()` |
`right(original, length)` |
Returns a string containing the specified number of rightmost characters of the original string. |

`rTrim()` |
`rTrim(original)` |
Returns the original string with trailing whitespace removed. |

`split()` |
`split(original, splitDelimiter)` |
Returns a list of strings resulting from the splitting of the original string around matches of the given delimiter. |

`substring()` |
`substring(original, start [, length])` |
Returns a substring of the original string, beginning with a 0-based index start and length. |

`toLower()` |
`toLower(original)` |
Returns the original string in lowercase. |

`toString()` |
`toString(expression)` |
Converts an integer, float or boolean value to a string. |

`toUpper()` |
`toUpper(original)` |
Returns the original string in uppercase. |

`trim()` |
`trim(original)` |
Returns the original string with leading and trailing whitespace removed. |

## Custom Cypher Functions¶

These are the default additional functions that come with Quine:

Name | Signature | Description |
---|---|---|

`bytes` | `bytes(input :: STRING) :: BYTES` | Returns bytes represented by a hexadecimal string |

`castOrNull.boolean` | `castOrNull.boolean(value :: ANY) :: BOOLEAN` | Casts the provided value to the type Bool. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.bytes` | `castOrNull.bytes(value :: ANY) :: BYTES` | Casts the provided value to the type Bytes. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.datetime` | `castOrNull.datetime(value :: ANY) :: DATETIME` | Casts the provided value to the type DateTime. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.duration` | `castOrNull.duration(value :: ANY) :: DURATION` | Casts the provided value to the type Duration. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.float` | `castOrNull.float(value :: ANY) :: FLOAT` | Casts the provided value to the type Floating. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.integer` | `castOrNull.integer(value :: ANY) :: INTEGER` | Casts the provided value to the type Integer. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.list` | `castOrNull.list(value :: ANY) :: LIST OF ANY` | Casts the provided value to the type List(Anything). If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.localdatetime` | `castOrNull.localdatetime(value :: ANY) :: LOCALDATETIME` | Casts the provided value to the type LocalDateTime. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.map` | `castOrNull.map(value :: ANY) :: MAP` | Casts the provided value to the type Map. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.node` | `castOrNull.node(value :: ANY) :: NODE` | Casts the provided value to the type Node. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.path` | `castOrNull.path(value :: ANY) :: PATH` | Casts the provided value to the type Path. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.relationship` | `castOrNull.relationship(value :: ANY) :: RELATIONSHIP` | Casts the provided value to the type Relationship. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrNull.string` | `castOrNull.string(value :: ANY) :: STRING` | Casts the provided value to the type Str. If the provided value is not already an instance of the requested type, this will return null. For functions that convert between types, see |

`castOrThrow.boolean` | `castOrThrow.boolean(value :: ANY) :: BOOLEAN` | Adds a runtime assertion that the provided |

`castOrThrow.bytes` | `castOrThrow.bytes(value :: ANY) :: BYTES` | Adds a runtime assertion that the provided |

`castOrThrow.datetime` | `castOrThrow.datetime(value :: ANY) :: DATETIME` | Adds a runtime assertion that the provided |

`castOrThrow.duration` | `castOrThrow.duration(value :: ANY) :: DURATION` | Adds a runtime assertion that the provided |

`castOrThrow.float` | `castOrThrow.float(value :: ANY) :: FLOAT` | Adds a runtime assertion that the provided |

`castOrThrow.integer` | `castOrThrow.integer(value :: ANY) :: INTEGER` | Adds a runtime assertion that the provided |

`castOrThrow.list` | `castOrThrow.list(value :: ANY) :: LIST OF ANY` | Adds a runtime assertion that the provided |

`castOrThrow.localdatetime` | `castOrThrow.localdatetime(value :: ANY) :: LOCALDATETIME` | Adds a runtime assertion that the provided |

`castOrThrow.map` | `castOrThrow.map(value :: ANY) :: MAP` | Adds a runtime assertion that the provided |

`castOrThrow.node` | `castOrThrow.node(value :: ANY) :: NODE` | Adds a runtime assertion that the provided |

`castOrThrow.path` | `castOrThrow.path(value :: ANY) :: PATH` | Adds a runtime assertion that the provided |

`castOrThrow.relationship` | `castOrThrow.relationship(value :: ANY) :: RELATIONSHIP` | Adds a runtime assertion that the provided |

`castOrThrow.string` | `castOrThrow.string(value :: ANY) :: STRING` | Adds a runtime assertion that the provided |

`coll.max` | `coll.max(value :: LIST OF ANY) :: ANY` | Computes the maximum of values in a list |

`coll.max(input0 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.max(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: ANY) :: ANY` | Computes the maximum argument | |

`coll.min` | `coll.min(value :: LIST OF ANY) :: ANY` | Computes the minimum of values in a list |

`coll.min(input0 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY) :: ANY` | Computes the minimum argument | |

`coll.min(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: ANY) :: ANY` | Computes the minimum argument | |

`convert.stringToBytes` | `convert.stringToBytes(input :: STRING, encoding :: STRING) :: BYTES` | Encodes a string into bytes according to the specified encoding |

`date` | `date() :: DATE` | Get the current local date |

`date(options :: MAP) :: DATE` | Construct a local date from the options | |

`date(date :: STRING) :: DATE` | Parse a local date from a string | |

`date(date :: STRING, format :: STRING) :: DATE` | Parse a local date from a string using a custom format | |

`datetime` | `datetime() :: DATETIME` | Get the current date time |

`datetime(options :: MAP) :: DATETIME` | Construct a date time from the options | |

`datetime(datetime :: STRING) :: DATETIME` | Parse a date time from a string | |

`datetime(datetime :: STRING, format :: STRING) :: DATETIME` | Parse a local date time from a string using a custom format | |

`duration` | `duration(options :: MAP) :: DURATION` | Construct a duration from the options |

`duration(duration :: STRING) :: DURATION` | Parse a duration from a string | |

`duration.between` | `duration.between(date1 :: LOCALDATETIME, date2 :: LOCALDATETIME) :: DURATION` | Compute the duration between two local dates |

`duration.between(date1 :: DATETIME, date2 :: DATETIME) :: DURATION` | Compute the duration between two dates | |

`gen.boolean.from` | `gen.boolean.from(fromValue :: ANY) :: BOOLEAN` | Deterministically generate a random boolean from the provided input. |

`gen.boolean.from(fromValue :: ANY, withSize :: INTEGER) :: BOOLEAN` | Deterministically generate a random boolean from the provided input. | |

`gen.bytes.from` | `gen.bytes.from(fromValue :: ANY) :: BYTES` | Deterministically generate a random bytes from the provided input. |

`gen.bytes.from(fromValue :: ANY, withSize :: INTEGER) :: BYTES` | Deterministically generate a random bytes from the provided input. | |

`gen.float.from` | `gen.float.from(fromValue :: ANY) :: FLOAT` | Deterministically generate a random float from the provided input. |

`gen.float.from(fromValue :: ANY, withSize :: INTEGER) :: FLOAT` | Deterministically generate a random float from the provided input. | |

`gen.integer.from` | `gen.integer.from(fromValue :: ANY) :: INTEGER` | Deterministically generate a random integer from the provided input. |

`gen.integer.from(fromValue :: ANY, withSize :: INTEGER) :: INTEGER` | Deterministically generate a random integer from the provided input. | |

`gen.node.from` | `gen.node.from(fromValue :: ANY) :: NODE` | Deterministically generate a random node from the provided input. |

`gen.node.from(fromValue :: ANY, withSize :: INTEGER) :: NODE` | Deterministically generate a random node from the provided input. | |

`gen.string.from` | `gen.string.from(fromValue :: ANY) :: STRING` | Deterministically generate a random string from the provided input. |

`gen.string.from(fromValue :: ANY, withSize :: INTEGER) :: STRING` | Deterministically generate a random string from the provided input. | |

`getHost` | `getHost(node :: NODE) :: INTEGER` | Compute which host a node should be assigned to (null if unknown without contacting the graph) |

`getHost(nodeIdStr :: STRING) :: INTEGER` | Compute which host a node ID (string representation) should be assigned to (null if unknown without contacting the graph) | |

`getHost(nodeIdBytes :: BYTES) :: INTEGER` | Compute which host a node ID (bytes representation) should be assigned to (null if unknown without contacting the graph) | |

`hash` | `hash() :: INTEGER` | Hashes the input arguments |

`hash(input0 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY) :: INTEGER` | Hashes the input arguments | |

`hash(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: ANY) :: INTEGER` | Hashes the input arguments | |

`idFrom` | `idFrom(input0 :: ANY) :: ANY` | Hashes the input arguments into a valid ID |

`idFrom(input0 :: ANY, input1 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`idFrom(input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: ANY, input15 :: ANY) :: ANY` | Hashes the input arguments into a valid ID | |

`kafkaHash` | `kafkaHash(partitionKey :: STRING) :: INTEGER` | Hashes a string to a (32-bit) integer using the same algorithm Apache Kafka uses for its DefaultPartitioner |

`kafkaHash(partitionKey :: BYTES) :: INTEGER` | Hashes a bytes value to a (32-bit) integer using the same algorithm Apache Kafka uses for its DefaultPartitioner | |

`locIdFrom` | `locIdFrom(positionIdx :: INTEGER, input0 :: ANY) :: ANY` | Generates a consistent (based on a hash of the arguments) ID. The ID created will be managed by the cluster member whose position corresponds to the provided position index given the cluster topology. |

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY) :: ANY` | Generates a consistent (based on a hash of the arguments) ID. The ID created will be managed by the cluster member whose position corresponds to the provided position index given the cluster topology. | |

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY) :: ANY` | Generates a consistent (based on a hash of the arguments) ID. The ID created will be managed by the cluster member whose position corresponds to the provided position index given the cluster topology. | |

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY) :: ANY` | ||

`locIdFrom(positionIdx :: INTEGER, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: ANY) :: ANY` | ||

`localdatetime` | `localdatetime() :: LOCALDATETIME` | Get the current local date time |

`localdatetime(options :: MAP) :: LOCALDATETIME` | Construct a local date time from the options | |

`localdatetime(datetime :: STRING) :: LOCALDATETIME` | Parse a local date time from a string | |

`localdatetime(datetime :: STRING, format :: STRING) :: LOCALDATETIME` | Parse a local date time from a string using a custom format | |

`localtime` | `localtime() :: LOCALTIME` | Get the current local time |

`localtime(options :: MAP) :: LOCALTIME` | Construct a local time from the options | |

`localtime(time :: STRING) :: LOCALTIME` | Parse a local time from a string | |

`localtime(time :: STRING, format :: STRING) :: LOCALTIME` | Parse a local time from a string using a custom format | |

`map.dropNullValues` | `map.dropNullValues(argument :: MAP) :: MAP` | Keep only non-null from the map |

`map.fromPairs` | `map.fromPairs(entries :: LIST OF LIST OF ANY) :: MAP` | Construct a map from a list of [key,value] entries |

`map.merge` | `map.merge(first :: MAP, second :: MAP) :: MAP` | Merge two maps |

`map.removeKey` | `map.removeKey(map :: MAP, key :: STRING) :: MAP` | remove the key from the map |

`map.sortedProperties` | `map.sortedProperties(map :: MAP) :: LIST OF LIST OF ANY` | Extract from a map a list of [key,value] entries sorted by the key |

`meta.type` | `meta.type(value :: ANY) :: STRING` | Inspect the (name of the) type of a value |

`parseJson` | `parseJson(jsonStr :: STRING) :: ANY` | Parses jsonStr to a Cypher value |

`quineId` | `quineId(input :: STRING) :: BYTES` | Returns the Quine ID corresponding to the string |

`strId` | `strId(input :: NODE) :: STRING` | Returns a string representation of the node’s ID |

`temporal.format` | `temporal.format(date :: DATETIME, format :: STRING) :: STRING` | Convert date time into string |

`temporal.format(date :: LOCALDATETIME, format :: STRING) :: STRING` | Convert local date time into string | |

`text.regexFirstMatch` | `text.regexFirstMatch(text :: STRING, regex :: STRING) :: LIST OF STRING` | Parses the string |

`text.regexGroups` | `text.regexGroups(text :: STRING, regex :: STRING) :: LIST OF STRING` | Parses the string |

`text.regexReplaceAll` | `text.regexReplaceAll(text :: STRING, regex :: STRING, replacement :: STRING) :: STRING` | Replaces all instances of the regular expression |

`text.split` | `text.split(text :: STRING, regex :: STRING) :: LIST OF STRING` | Splits the string around matches of the regex |

`text.split(text :: STRING, regex :: STRING, limit :: INTEGER) :: LIST OF STRING` | Splits the string around the first | |

`text.urldecode` | `text.urldecode(text :: STRING) :: LIST OF STRING` | URL-decodes (x-www-form-urlencoded) the provided string |

`text.urldecode(text :: STRING, decodePlusAsSpace :: BOOLEAN) :: LIST OF STRING` | URL-decodes the provided string, using RFC3986 if decodePlusAsSpace = false | |

`text.urlencode` | `text.urlencode(text :: STRING) :: LIST OF STRING` | URL-encodes the provided string; additionally percent-encoding quotes, angle brackets, and curly braces |

`text.urlencode(text :: STRING, usePlusForSpace :: BOOLEAN) :: LIST OF STRING` | URL-encodes the provided string; additionally percent-encoding quotes, angle brackets, and curly braces; optionally using | |

`text.urlencode(text :: STRING, encodeExtraChars :: STRING) :: LIST OF STRING` | URL-encodes the provided string, additionally percent-encoding the characters enumerated in | |

`text.urlencode(text :: STRING, usePlusForSpace :: BOOLEAN, encodeExtraChars :: STRING) :: LIST OF STRING` | URL-encodes the provided string, additionally percent-encoding the characters enumerated in | |

`text.utf8Decode` | `text.utf8Decode(bytes :: BYTES) :: STRING` | Returns the bytes decoded as a UTF-8 String |

`text.utf8Encode` | `text.utf8Encode(string :: STRING) :: BYTES` | Returns the string encoded as UTF-8 bytes |

`time` | `time() :: TIME` | Get the current local time |

`time(options :: MAP) :: TIME` | Construct a local time from the options | |

`time(time :: STRING) :: TIME` | Parse a local time from a string | |

`time(time :: STRING, format :: STRING) :: TIME` | Parse a local time from a string using a custom format | |

`toJson` | `toJson(x :: ANY) :: STRING` | Returns x encoded as a JSON string |