8.6 Коллекции

Cypher имеет хорошую поддержку коллекций.

8.6.1 О коллекциях

Коллекция литералов создается при помощи квадратных скобок, внутри которых находятся элементы коллекции, разделенные запятыми.

Запрос

RETURN [0,1,2,3,4,5,6,7,8,9] AS collection

Таблица 8.4 Результат

collection
[0,1,2,3,4,5,6,7,8,9]

В наших примерах мы будем использовать функцию range (диапазон). Она возвращает коллекцию, содержащую все номера между заданными начальным и конечным.

Чтобы получить доступ к отдельным элементам в коллекции, также используются квадратные скобки.

Запрос

RETURN range(0,10)[3]

Таблица 8.5 Результат

range(0,10)[3]
3

Вы можете также использовать отрицательные номера для отсчета от конца коллекции.

Запрос

RETURN range(0,10)[-3]

Таблица 8.6 Результат

range(0,10)[-3]
8

Наконец, вы можете использовать диапазоны внутри скобок, чтобы вернуть диапазоны коллекции.

Запрос

RETURN range(0,10)[0..3]

Таблица 8.7 Результат

range(0,10)[0..3]
[0,1,2]

Запрос

RETURN range(0,10)[0..-5]

Таблица 8.8 Результат

range(0,10)[0..-5]
[0,1,2,3,4,5]

Запрос

RETURN range(0,10)[-5..]

Таблица 8.9 Результат

range(0,10)[-5..]
[6,7,8,9,10]

Запрос

RETURN range(0,10)[..4]

Таблица 8.10 Результат

range(0,10)[..4]
[0,1,2,3]

Замечание: Элементы, выходящие за пределы границ, просто отсекаются, но если при этом других элементов нет, возвращается null.

Запрос

RETURN range(0,10)[15]

Таблица 8.11 Результат

range(0,10)[15]
|

Запрос

RETURN range(0,10)[5..15]

Таблица 8.12 Результат

range(0,10)[5..15]
|[5,6,7,8,9,10]

Предыдущая | Следующая