List functions
Further details and examples of lists may be found in Lists and List operators.
Functions:
  N0 [
    label = "{Person, Developer|name = \'Alice\'\leyes = \'brown\'\lage = 38\l}"
  ]
  N0 -> N2 [
    color = "#2e3436"
    fontcolor = "#2e3436"
    label = "KNOWS\n"
  ]
  N0 -> N1 [
    color = "#2e3436"
    fontcolor = "#2e3436"
    label = "KNOWS\n"
  ]
  N1 [
    label = "name = \'Bob\'\leyes = \'blue\'\lage = 25\l"
  ]
  N1 -> N3 [
    color = "#2e3436"
    fontcolor = "#2e3436"
    label = "KNOWS\n"
  ]
  N1 -> N4 [
    color = "#4e9a06"
    fontcolor = "#4e9a06"
    label = "MARRIED\n"
  ]
  N2 [
    label = "name = \'Charlie\'\leyes = \'green\'\lage = 53\l"
  ]
  N2 -> N3 [
    color = "#2e3436"
    fontcolor = "#2e3436"
    label = "KNOWS\n"
  ]
  N3 [
    label = "name = \'Daniel\'\leyes = \'brown\'\lage = 54\l"
  ]
  N4 [
    label = "array = \[\'one\', \'two\', \'three\'\]\lname = \'Eskil\'\leyes = \'blue\'\lage = 41\l"
  ]
keys()
keys returns a list containing the string representations for all the property names of a node, relationship, or map.
Syntax: keys(expression)
Returns:
| A list containing String elements. | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns a node, a relationship, or a map. | 
Considerations:
| 
 | 
MATCH (a) WHERE a.name = 'Alice'
RETURN keys(a)A list containing the names of all the properties on the node bound to a is returned.
| keys(a) | 
|---|
| 
 | 
| Rows: 1 | 
labels()
labels returns a list containing the string representations for all the labels of a node.
Syntax: labels(node)
Returns:
| A list containing String elements. | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns a single node. | 
Considerations:
| 
 | 
MATCH (a) WHERE a.name = 'Alice'
RETURN labels(a)A list containing all the labels of the node bound to a is returned.
| labels(a) | 
|---|
| 
 | 
| Rows: 1 | 
nodes()
nodes() returns a list containing all the nodes in a path.
Syntax: nodes(path)
Returns:
| A list containing Node elements. | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns a path. | 
Considerations:
| 
 | 
MATCH p = (a)-->(b)-->(c)
WHERE a.name = 'Alice' AND c.name = 'Eskil'
RETURN nodes(p)A list containing all the nodes in the path p is returned.
| nodes(p) | 
|---|
| 
 | 
| Rows: 1 | 
range()
range() returns a list comprising all integer values within a range bounded by a start value start and end value end, where the difference step between any two consecutive values is constant; i.e. an arithmetic progression.
To create ranges with decreasing integer values, use a negative value step.
The range is inclusive for non-empty ranges, and the arithmetic progression will therefore always contain start and — depending on the values of start, step and end — end.
The only exception where the range does not contain start are empty ranges.
An empty range will be returned if the value step is negative and start - end is positive, or vice versa, e.g. range(0, 5, -1).
Syntax: range(start, end [, step])
Returns:
| A list of Integer elements. | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns an integer value. | 
| 
 | An expression that returns an integer value. | 
| 
 | A numeric expression defining the difference between any two consecutive values, with a default of  | 
RETURN range(0, 10), range(2, 18, 3), range(0, 5, -1)Three lists of numbers in the given ranges are returned.
| range(0, 10) | range(2, 18, 3) | range(0, 5, -1) | 
|---|---|---|
| 
 | 
 | 
 | 
| Rows: 1 | ||
reduce()
reduce() returns the value resulting from the application of an expression on each successive element in a list in conjunction with the result of the computation thus far.
           This function will iterate through each element e in the given list, run the expression on e — taking into account the current partial result — and store the new partial result in the accumulator.
           This function is analogous to the fold or reduce method in functional languages such as Lisp and Scala.
Syntax: reduce(accumulator = initial, variable IN list | expression)
Returns:
| The type of the value returned depends on the arguments provided, along with the semantics of  | 
Arguments:
| Name | Description | 
|---|---|
| 
 | A variable that will hold the result and the partial results as the list is iterated. | 
| 
 | An expression that runs once to give a starting value to the accumulator. | 
| 
 | An expression that returns a list. | 
| 
 | The closure will have a variable introduced in its context. We decide here which variable to use. | 
| 
 | This expression will run once per value in the list, and produce the result value. | 
MATCH p = (a)-->(b)-->(c)
WHERE a.name = 'Alice' AND b.name = 'Bob' AND c.name = 'Daniel'
RETURN reduce(totalAge = 0, n IN nodes(p) | totalAge + n.age) AS reductionThe age property of all nodes in the path are summed and returned as a single value.
| reduction | 
|---|
| 
 | 
| Rows: 1 | 
relationships()
relationships() returns a list containing all the relationships in a path.
Syntax: relationships(path)
Returns:
| A list containing Relationship elements. | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns a path. | 
Considerations:
| 
 | 
MATCH p = (a)-->(b)-->(c)
WHERE a.name = 'Alice' AND c.name = 'Eskil'
RETURN relationships(p)A list containing all the relationships in the path p is returned.
| relationships(p) | 
|---|
| 
 | 
| Rows: 1 | 
reverse()
reverse() returns a list in which the order of all elements in the original list have been reversed.
Syntax: reverse(original)
Returns:
| A list containing homogeneous or heterogeneous elements; the types of the elements are determined by the elements within  | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns a list. | 
Considerations:
| Any  | 
WITH [4923,'abc',521, null, 487] AS ids
RETURN reverse(ids)| reverse(ids) | 
|---|
| 
 | 
| Rows: 1 | 
tail()
tail() returns a list lresult containing all the elements, excluding the first one, from a list list.
Syntax: tail(list)
Returns:
| A list containing heterogeneous elements; the types of the elements are determined by the elements in  | 
Arguments:
| Name | Description | 
|---|---|
| 
 | An expression that returns a list. | 
MATCH (a) WHERE a.name = 'Eskil'
RETURN a.array, tail(a.array)The property named array and a list comprising all but the first element of the array property are returned.
| a.array | tail(a.array) | 
|---|---|
| 
 | 
 | 
| Rows: 1 | |