# Cypher Functions

## Built-In Cypher Functions

These are functions that are part of the Cypher language.

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

`abs` | `abs(NUMBER?) :: NUMBER?` | absolute value of a number |

`acos` | `acos(NUMBER?) :: FLOAT?` | arcosine (in radians) of a number |

`asin` | `asin(NUMBER?) :: FLOAT?` | arcsine (in radians) of a number |

`atan` | `atan(NUMBER?) :: FLOAT?` | arctangent (in radians) of a number |

`atan2` | `atan2(NUMBER?, NUMBER?) :: FLOAT?` | arctangent (in radians) of the quotient of its arguments |

`ceil` | `ceil(NUMBER?) :: NUMBER?` | smallest integer greater than or equal to the input |

`coalesce` | `coalesce(ANY?, ..) :: ANY?` | returns the first non- |

`cos` | `cos(NUMBER?) :: FLOAT?` | cosine of a number of radians |

`cot` | `cot(NUMBER?) :: FLOAT?` | cotangent of a number of radians |

`degrees` | `degrees(NUMBER?) :: FLOAT?` | convert radians to degrees |

`e` | `e() :: FLOAT?` | mathematical constant |

`exp` | `exp(NUMBER?) :: FLOAT?` | return the mathematical constant |

`floor` | `floor(NUMBER?) :: NUMBER?` | largest integer less than or equal to the input |

`haversin` | `haversin(NUMBER?) :: FLOAT?` | half the versine of a number |

`head` | `head(LIST? OF ANY?) :: ANY?` | extract the first element of a list |

`id` | `id(NODE?) :: ANY?` | extract the ID of a node |

`keys` | `keys(ANY?) :: LIST? OF STRING?` | extract the keys from a map, node, or relationship |

`lTrim` | `lTrim(STRING?) :: STRING?` | original string with leading whitespace removed |

`labels` | `labels(ANY?) :: LIST? OF STRING?` | extract the labels of a node or relationship |

`last` | `last(LIST? OF ANY?) :: ANY?` | extract the last element of a list |

`left` | `left(STRING?, INTEGER?) :: STRING?` | string containing the specified number of leftmost characters of the original string |

`length` | `length(PATH?) :: INTEGER?` | length of a path (ie. the number of relationships in it) |

`log` | `log(NUMBER?) :: FLOAT?` | natural logarithm of a number |

`log10` | `log10(NUMBER?) :: FLOAT?` | common logarithm (base 10) of a number |

`nodes` | `nodes(PATH?) :: LIST? OF NODE?` | extract a list of nodes in a path |

`pi` | `pi() :: FLOAT?` | mathematical constant |

`properties` | `properties(ANY?) :: MAP?` | extract the properties from a map, node, or relationship |

`rTrim` | `rTrim(STRING?) :: STRING?` | original string with trailing whitespace removed |

`rand` | `rand() :: FLOAT?` | random float between 0 (inclusive) and 1 (exclusive) |

`range` | `range(start :: INTEGER?, end :: INTEGER, step :: INTEGER) :: LIST? OF INTEGER?` | construct a list of integers representing a range |

`relationships` | `relationships(PATH?) :: LIST? OF RELATIONSHIP?` | extract a list of relationships in a path |

`replace` | `replace(original :: STRING?, target :: STRING?, replacement :: STRING?) :: STRING?` | replace every occurence of a target string |

`reverse` | `reverse(ANY?) :: ANY?` | reverse a string or list |

`right` | `right(STRING?, INTEGER?) :: STRING?` | string containing the specified number of rightmost characters of the original string |

`sign` | `sign(NUMBER?) :: INTEGER?` | signum of a number |

`sin` | `sin(NUMBER?) :: FLOAT?` | sine of a number of radians |

`size` | `size(ANY?) :: INTEGER?` | number of elements in a list or characters in a string |

`split` | `split(input :: STRING?, delimiter :: STRING?) :: LIST? OF STRING?` | split a string on every instance of a delimiter |

`sqrt` | `sqrt(NUMBER?) :: FLOAT?` | square root of a number |

`substring` | `substring(original :: STRING?, start :: INTEGER? [, end :: INTEGER? ]) :: STRING?` | substring of the original string, beginning with a 0-based index start and length |

`tail` | `tail(LIST? OF ANY?) :: LIST? OF ANY?` | return the list without its first element |

`tan` | `tan(NUMBER?) :: FLOAT?` | tangent of a number of radians |

`timestamp` | `timestamp() :: INTEGER?` | number of milliseconds elapsed since midnight, January 1, 1970 UTC |

`toBoolean` | `toBoolean(STRING?) :: BOOLEAN?` | convert a string into a boolean |

`toFloat` | `toFloat(ANY?) :: FLOAT?` | convert a string or integer into a float |

`toInteger` | `toInteger(ANY?) :: INTEGER?` | convert a string or float into an integer |

`toLower` | `toLower(STRING?) :: STRING?` | convert a string to lowercase |

`toString` | `toString(ANY?) :: STRING?` | convert a value to a string |

`toUpper` | `toUpper(STRING?) :: STRING?` | convert a string to uppercase |

`trim` | `trim(STRING?) :: STRING?` | removing leading and trailing whitespace from a string |

`type` | `type(RELATIONSHIP?) :: STRING?` | return the name of a relationship |

## 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 | |

`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.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 |