Cypher Language
Documention for the Cypher language is still forthcoming. Meanwhile, the OpenCypher language reference can be found at https://s3.amazonaws.com/artifacts.opencypher.org/openCypher9.pdf.
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?) :: FLOAT? | 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?) :: FLOAT? | 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 |
radians | radians(NUMBER?) :: FLOAT? | convert degrees to radians |
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 occurrence 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 |
round | round(input :: NUMBER?, precision :: INTEGER?, mode :: STRING?) :: FLOAT? | nearest number to the input |
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 |
User-defined Cypher Functions
These are the default additional functions that come with thatDot Streaming Graph. More user defined functions can be added by following these instructions.
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 |
clusterPosition | clusterPosition() :: INTEGER | Returns the cluster position occupied by this member |
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 | 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, input4 :: 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, input4 :: ANY, input5 :: 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, input4 :: ANY, input5 :: ANY, input6 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: 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, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY, input11 :: ANY, input12 :: ANY, input13 :: ANY, input14 :: 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. | |
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 |
User-defined Cypher procedures
These are the default procedures that come with thatDot Streaming Graph. More user defined procedures can be added by following these instructions.
Name | Signature | Description | Mode |
---|---|---|---|
create.relationship | create.relationship(from :: NODE, relType :: STRING, props :: MAP, to :: NODE) :: (rel :: RELATIONSHIP) | Create a relationship with a potentially dynamic name | WRITE |
create.setLabels | create.setLabels(node :: NODE, labels :: LIST OF STRING) :: VOID | Set the labels on the specified input node, overriding any previously set labels | WRITE |
create.setProperty | create.setProperty(node :: NODE, key :: STRING, value :: ANY) :: VOID | Set the property with the provided key on the specified input node | WRITE |
cypher.do.case | cypher.do.case(conditionals :: LIST OF ANY, elseQuery :: STRING, params :: MAP) :: (value :: MAP) | Given a list of conditional/query pairs, execute the first query with a true conditional | WRITE |
cypher.doIt | cypher.doIt(cypher :: STRING, params :: MAP) :: (value :: MAP) | Executes a Cypher query with the given parameters | WRITE |
cypher.runTimeboxed | cypher.runTimeboxed(cypher :: STRING, params :: MAP, timeout :: INTEGER) :: (value :: MAP) | Executes a Cypher query with the given parameters but abort after a certain number of milliseconds | WRITE |
db.indexes | db.indexes() :: (description :: ANY, indexName :: ANY, tokenNames :: ANY, properties :: ANY, state :: ANY, type :: ANY, progress :: ANY, provider :: ANY, id :: ANY, failureMessage :: ANY) | READ | |
db.propertyKeys | db.propertyKeys() :: (propertyKey :: ANY) | READ | |
db.relationshipTypes | db.relationshipTypes() :: (relationshipType :: ANY) | READ | |
dbms.labels | dbms.labels() :: (label :: ANY) | READ | |
debug.node | debug.node(node :: ANY) :: (atTime :: LOCALDATETIME, properties :: MAP, edges :: LIST OF ANY, latestUpdateMillisAfterSnapshot :: INTEGER, subscribers :: STRING, subscriptions :: STRING, multipleValuesStandingQueryStates :: LIST OF ANY, journal :: LIST OF ANY, graphNodeHashCode :: INTEGER) | Log the internal state of a node | READ |
debug.sleep | debug.sleep(node :: ANY) :: VOID | Request a node sleep | READ |
do.when | do.when(condition :: BOOLEAN, ifQuery :: STRING, elseQuery :: STRING, params :: MAP) :: (value :: MAP) | Depending on the condition execute ifQuery or elseQuery | WRITE |
float.add | float.add(node :: NODE, key :: STRING, add :: FLOAT) :: (result :: FLOAT) | Atomically add to a floating-point property on a node by a certain amount (defaults to 1.0), returning the resultant value | WRITE |
getHost | getHost(node :: NODE) :: (host :: INTEGER) | Compute which host a node is currently located on | READ |
help.functions | help.functions() :: (name :: STRING, signature :: STRING, description :: STRING) | List registered functions | READ |
help.procedures | help.procedures() :: (name :: STRING, signature :: STRING, description :: STRING, mode :: STRING) | List registered procedures | READ |
incrementCounter | incrementCounter(node :: NODE, key :: STRING, amount :: INTEGER) :: (count :: INTEGER) | Atomically increment an integer property on a node by a certain amount, returning the resultant value | WRITE |
int.add | int.add(node :: NODE, key :: STRING, add :: INTEGER) :: (result :: INTEGER) | Atomically add to an integer property on a node by a certain amount (defaults to 1), returning the resultant value | WRITE |
loadJsonLines | loadJsonLines(url :: STRING) :: (value :: ANY) | Load a line-base JSON file, emitting one record per line | READ |
log | log(level :: STRING, value :: ANY) :: (log :: STRING) | Log the input argument to console | READ |
parseProtobuf | parseProtobuf(bytes :: BYTES, schemaUrl :: STRING, typeName :: STRING) :: (value :: MAP) | Parses a protobuf message into a Cypher map value, or null if the bytes are not parseable as the requested type | READ |
purgeNode | purgeNode(node :: ANY) :: VOID | Purge a node from history | WRITE |
random.walk | random.walk(start :: ANY, depth :: INTEGER, return :: FLOAT, in-out :: FLOAT, seed :: STRING) :: (walk :: LIST OF STRING) | Randomly walk edges from a starting node for a chosen depth. Returns a list of node IDs in the order they were encountered. | READ |
recentNodeIds | recentNodeIds(count :: INTEGER) :: (nodeId :: ANY) | Fetch the specified number of IDs of nodes from the in-memory cache | READ |
recentNodes | recentNodes(count :: INTEGER) :: (node :: NODE) | Fetch the specified number of nodes from the in-memory cache | READ |
reify.time | reify.time(timestamp :: DATETIME, periods :: LIST OF STRING) :: (node :: NODE) | Reifies the timestamp into a [sub]graph of time nodes, where each node represents one period (at the granularity of the period specifiers provided). Yields the reified nodes with the finest granularity. | WRITE |
set.insert | set.insert(node :: NODE, key :: STRING, add :: ANY) :: (result :: LIST OF ANY) | Atomically add an element to a list property treated as a set. If one or more instances of | WRITE |
set.union | set.union(node :: NODE, key :: STRING, add :: LIST OF ANY) :: (result :: LIST OF ANY) | Atomically add set of elements to a list property treated as a set. The elements in | WRITE |
standing.wiretap | standing.wiretap(options :: MAP) :: (data :: MAP, meta :: MAP) | Wire-tap the results of a standing query | READ |
subscribers | subscribers(node :: ANY) :: (queryId :: INTEGER, queryDepth :: INTEGER, receiverId :: STRING, lastResult :: ANY) | Return the current state of the standing query subscribers. | READ |
subscriptions | subscriptions(node :: ANY) :: (queryId :: INTEGER, queryDepth :: INTEGER, receiverId :: STRING, lastResult :: ANY) | Return the current state of the standing query subscriptions. | READ |
toProtobuf | toProtobuf(value :: MAP, schemaUrl :: STRING, typeName :: STRING) :: (protoBytes :: BYTES) | Serializes a Cypher value into bytes, according to a protobuf schema. Returns null if the value is not serializable as the requested type | READ |
util.sleep | util.sleep(duration :: INTEGER) :: VOID | Sleep for a certain number of milliseconds | READ |