8.6 Коллекции
- 8.6.1 О коллекциях
- 8.6.2 Описание списка
- 8.6.3 Литеральные карты
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] |