Глава 13. Схема

В Neo4j 2.0 была введена необязательная схема для графа, опирающаяся на концепцию меток. Метки используются в спецификации индексов и для определения ограничений на графе. Вместе, индексы и ограничения, представляют собой схему графа. Cypher включает операторы описания данных (DDL), используемые для манипуляций со схемой.

13.1 Индексы

  1. 13.1.1 Создание индекса на метке
  2. 13.1.2 Удаление индекса на метке
  3. 13.1.3 Использование индекса

Cypher позволяет создавать индексы по свойству для всех узлов, которые имеют заданную метку. Эти индексы автоматически поддерживаются базой данных и сохраняют актуальность при изменении графа.

13.1.1 Создание индекса на метке

Чтобы создать индекс на свойстве для всех узлов, которые имеют одинаковую метку, используется CREATE INDEX ON. Заметим, что индекс не будет сразу же доступен, т.к. он создается в фоновом режиме. Подробности смотрите в Разделе 3.7.1 “Индексы”.

Запрос

CREATE INDEX ON :Person(name)

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

Indexes added: 1
(пустой результат)

13.1.2 Удаление индекса на метке

Чтобы удалить индекс на всех узлах, которые имеют метку, используйте предложение DROP INDEX ON.

Запрос

DROP INDEX ON :Person(name)

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

Indexes removed: 1
(пустой результат)

13.1.3 Использование индекса

Обычно нет необходимости указывать, какой индекс использовать в запросе, Cypher выяснит это самостоятельно. Например, запрос ниже будет использовать индекс Person(name) index, если он существует. Если вы по какой-то причине хотите подсказать конкретные индексы, обратитесь к разделу 9.7 “Using”.

Запрос

MATCH (n:Person { name: 'Andres' })
RETURN n

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

n
(пустой результат)

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