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.

NameSignatureDescription
absabs(NUMBER?) :: NUMBER?

absolute value of a number

acosacos(NUMBER?) :: FLOAT?

arcosine (in radians) of a number

asinasin(NUMBER?) :: FLOAT?

arcsine (in radians) of a number

atanatan(NUMBER?) :: FLOAT?

arctangent (in radians) of a number

atan2atan2(NUMBER?, NUMBER?) :: FLOAT?

arctangent (in radians) of the quotient of its arguments

ceilceil(NUMBER?) :: NUMBER?

smallest integer greater than or equal to the input

coalescecoalesce(ANY?, ..) :: ANY?

returns the first non-null value in a list of expressions

coscos(NUMBER?) :: FLOAT?

cosine of a number of radians

cotcot(NUMBER?) :: FLOAT?

cotangent of a number of radians

degreesdegrees(NUMBER?) :: FLOAT?

convert radians to degrees

ee() :: FLOAT?

mathematical constant e

expexp(NUMBER?) :: FLOAT?

return the mathematical constant e raised to the power of the input

floorfloor(NUMBER?) :: NUMBER?

largest integer less than or equal to the input

haversinhaversin(NUMBER?) :: FLOAT?

half the versine of a number

headhead(LIST? OF ANY?) :: ANY?

extract the first element of a list

idid(NODE?) :: ANY?

extract the ID of a node

keyskeys(ANY?) :: LIST? OF STRING?

extract the keys from a map, node, or relationship

lTrimlTrim(STRING?) :: STRING?

original string with leading whitespace removed

labelslabels(ANY?) :: LIST? OF STRING?

extract the labels of a node or relationship

lastlast(LIST? OF ANY?) :: ANY?

extract the last element of a list

leftleft(STRING?, INTEGER?) :: STRING?

string containing the specified number of leftmost characters of the original string

lengthlength(PATH?) :: INTEGER?

length of a path (ie. the number of relationships in it)

loglog(NUMBER?) :: FLOAT?

natural logarithm of a number

log10log10(NUMBER?) :: FLOAT?

common logarithm (base 10) of a number

nodesnodes(PATH?) :: LIST? OF NODE?

extract a list of nodes in a path

pipi() :: FLOAT?

mathematical constant π

propertiesproperties(ANY?) :: MAP?

extract the properties from a map, node, or relationship

rTrimrTrim(STRING?) :: STRING?

original string with trailing whitespace removed

randrand() :: FLOAT?

random float between 0 (inclusive) and 1 (exclusive)

rangerange(start :: INTEGER?, end :: INTEGER, step :: INTEGER) :: LIST? OF INTEGER?

construct a list of integers representing a range

relationshipsrelationships(PATH?) :: LIST? OF RELATIONSHIP?

extract a list of relationships in a path

replacereplace(original :: STRING?, target :: STRING?, replacement :: STRING?) :: STRING?

replace every occurence of a target string

reversereverse(ANY?) :: ANY?

reverse a string or list

rightright(STRING?, INTEGER?) :: STRING?

string containing the specified number of rightmost characters of the original string

signsign(NUMBER?) :: INTEGER?

signum of a number

sinsin(NUMBER?) :: FLOAT?

sine of a number of radians

sizesize(ANY?) :: INTEGER?

number of elements in a list or characters in a string

splitsplit(input :: STRING?, delimiter :: STRING?) :: LIST? OF STRING?

split a string on every instance of a delimiter

sqrtsqrt(NUMBER?) :: FLOAT?

square root of a number

substringsubstring(original :: STRING?, start :: INTEGER? [, end :: INTEGER? ]) :: STRING?

substring of the original string, beginning with a 0-based index start and length

tailtail(LIST? OF ANY?) :: LIST? OF ANY?

return the list without its first element

tantan(NUMBER?) :: FLOAT?

tangent of a number of radians

timestamptimestamp() :: INTEGER?

number of milliseconds elapsed since midnight, January 1, 1970 UTC

toBooleantoBoolean(STRING?) :: BOOLEAN?

convert a string into a boolean

toFloattoFloat(ANY?) :: FLOAT?

convert a string or integer into a float

toIntegertoInteger(ANY?) :: INTEGER?

convert a string or float into an integer

toLowertoLower(STRING?) :: STRING?

convert a string to lowercase

toStringtoString(ANY?) :: STRING?

convert a value to a string

toUppertoUpper(STRING?) :: STRING?

convert a string to uppercase

trimtrim(STRING?) :: STRING?

removing leading and trailing whitespace from a string

typetype(RELATIONSHIP?) :: STRING?

return the name of a relationship

User-defined Cypher Functions

These are the default additional functions that come with Quine Enterprise. More user defined functions can be added by following these instructions.

NameSignatureDescription
bytesbytes(input :: STRING) :: BYTES

Returns bytes represented by a hexadecimal string

coll.maxcoll.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.mincoll.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.stringToBytesconvert.stringToBytes(input :: STRING, encoding :: STRING) :: BYTES

Encodes a string into bytes according to the specified encoding

datetimedatetime() :: 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

durationduration(options :: MAP) :: DURATION

Construct a duration from the options

duration(duration :: STRING) :: DURATION

Parse a duration from a string

duration.betweenduration.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.fromgen.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.fromgen.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.fromgen.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.fromgen.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.fromgen.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.fromgen.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.

getHostgetHost(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)

hashhash() :: 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

idFromidFrom() :: ANY

Hashes the input arguments into a valid ID

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

locIdFromlocIdFrom() :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, input0 :: ANY, input1 :: ANY, input2 :: ANY, input3 :: ANY, input4 :: ANY, input5 :: ANY, input6 :: ANY, input7 :: ANY, input8 :: ANY, input9 :: ANY, input10 :: ANY) :: INTEGER

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, 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

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

locIdFrom(partition :: STRING, 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

Generates a localized ID (based on a hash of the input elements, if provided). All IDs generated with the same partition will correspond to nodes on the same host.

localdatetimelocaldatetime() :: 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.dropNullValuesmap.dropNullValues(argument :: MAP) :: MAP

Keep only non-null from the map

map.fromPairsmap.fromPairs(entries :: LIST OF LIST OF ANY) :: MAP

Construct a map from a list of [key,value] entries

map.mergemap.merge(first :: MAP, second :: MAP) :: MAP

Merge two maps

map.removeKeymap.removeKey(map :: MAP, key :: STRING) :: MAP

remove the key from the map

map.sortedPropertiesmap.sortedProperties(map :: MAP) :: LIST OF LIST OF ANY

Extract from a map a list of [key,value] entries sorted by the key

meta.typemeta.type(value :: ANY) :: STRING

Inspect the (name of the) type of a value

parseJsonparseJson(jsonStr :: STRING) :: ANY

Parses jsonStr to a Cypher value

quineIdquineId(input :: STRING) :: BYTES

Returns the Quine ID corresponding to the string

strIdstrId(input :: NODE) :: STRING

Returns a string representation of the node’s ID

temporal.formattemporal.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.regexFirstMatchtext.regexFirstMatch(text :: STRING, regex :: STRING) :: LIST OF STRING

Parses the string text using the regular expression regex and returns the first set of capture group matches

text.splittext.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 limit matches of the regex

text.utf8Decodetext.utf8Decode(bytes :: BYTES) :: STRING

Returns the bytes decoded as a UTF-8 String

text.utf8Encodetext.utf8Encode(string :: STRING) :: BYTES

Returns the string encoded as UTF-8 bytes

toJsontoJson(x :: ANY) :: STRING

Returns x encoded as a JSON string

User-defined Cypher procedures

These are the default procedures that come with Quine Enterprise. More user defined procedures can be added by following these instructions.

NameSignatureDescriptionMode
create.relationshipcreate.relationship(from :: NODE, relType :: STRING, props :: MAP, to :: NODE) :: (rel :: RELATIONSHIP)

Create a relationship with a potentially dynamic name

WRITE
create.setLabelscreate.setLabels(node :: NODE, labels :: LIST OF STRING) :: VOID

Set the label on the specified input nodes

WRITE
cypher.do.casecypher.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.doItcypher.doIt(cypher :: STRING, params :: MAP) :: (value :: MAP)

Executes a Cypher query with the given parameters

WRITE
cypher.runTimeboxedcypher.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.indexesdb.indexes() :: (description :: ANY, indexName :: ANY, tokenNames :: ANY, properties :: ANY, state :: ANY, type :: ANY, progress :: ANY, provider :: ANY, id :: ANY, failureMessage :: ANY)READ
db.propertyKeysdb.propertyKeys() :: (propertyKey :: ANY)READ
db.relationshipTypesdb.relationshipTypes() :: (relationshipType :: ANY)READ
dbms.labelsdbms.labels() :: (label :: ANY)READ
debug.nodedebug.node(node :: ANY) :: (properties :: MAP, edges :: LIST OF ANY, latestUpdateMillisAfterSnapshot :: INTEGER, subscribers :: STRING, subscriptions :: STRING, cypherStandingQueryStates :: LIST OF ANY, journal :: LIST OF ANY)

Log the internal state of a node

READ
debug.sleepdebug.sleep(node :: ANY) :: VOID

Request a node sleep

READ
do.whendo.when(condition :: BOOLEAN, ifQuery :: STRING, elseQuery :: STRING, params :: MAP) :: (value :: MAP)

Depending on the condition execute ifQuery or elseQuery

WRITE
help.functionshelp.functions() :: (name :: STRING, signature :: STRING, description :: STRING)

List registered functions

READ
help.procedureshelp.procedures() :: (name :: STRING, signature :: STRING, description :: STRING, mode :: STRING)

List registered procedures

READ
incrementCounterincrementCounter(node :: NODE, key :: STRING, amount :: INTEGER) :: VOID

Atomically increment an integer property on a node by a certain amount

WRITE
loadJsonLinesloadJsonLines(url :: STRING) :: (value :: ANY)

Load a line-base JSON file, emitting one record per line

READ
loglog(level :: STRING, value :: ANY) :: (log :: STRING)

Log the input argument to console

READ
recentNodeIdsrecentNodeIds(count :: INTEGER) :: (nodeId :: ANY)

Fetch the specified number of IDs of nodes from the in-memory cache

READ
recentNodesrecentNodes(count :: INTEGER) :: (node :: NODE)

Fetch the specified number of nodes from the in-memory cache

READ
reify.timereify.time(timestamp :: DATETIME, periods :: LIST OF STRING) :: (node :: NODE)

Returns the nodes that represent the passed-in time.

WRITE
subscriberssubscribers(node :: ANY) :: (queryId :: INTEGER, queryDepth :: INTEGER, receiverId :: STRING, lastResult :: ANY)

Return the current state of the standing query subscribers.

READ
subscriptionssubscriptions(node :: ANY) :: (queryId :: INTEGER, queryDepth :: INTEGER, receiverId :: STRING, lastResult :: ANY)

Return the current state of the standing query subscriptions.

READ
util.sleeputil.sleep(duration :: INTEGER) :: VOID

Sleep for a certain number of milliseconds

READ