Глава 10. Предложения чтения
Поток данных в пределах запроса Cypher представляет собой неупорядоченную последовательность отображений с помощью пар ключ-значение — набора возможных связей между идентификаторами запроса и значениями, извлеченными из базы данных. Этот набор уточняется и расширяется последующими частями запроса.
10.1 Match
- 10.1.1 Введение
- 10.1.2 Основы нахождения узлов
- 10.1.3 Основы связей
- 10.1.4 Связи углублённо
- 10.1.5 Кратчайший путь
10.1.1 Введение
MATCH представляет собой основной способ получения данных из базы в текущий набор связываний.
Предложение MATCH позволяет вам задать образцы, по которым Cypher будет выполнять поиск в базе.
Узлы и связи, которые уже известны на этом этапе, называются связанными элементами образца. Cypher теперь будет пытаться найти неизвестные части образца.
Если MATCH является первым предложением вашего запроса, на этом этапе ничего не связывается. Cypher нуждается в стартовой точке, чтобы выполнять сопоставление с образцом.
Если не существует связанных узлов, Cypher может просканировать все узлы в базе данных, все узлы с определенной меткой или может использовать индексы для быстрого поиска релевантных стартовых точек. Более подробную информацию об индексах смотрите в Разделе 13.1 “Индексы”.
Если вы хотите использовать индексные хинты, чтобы заставить Cypher использовать конкретный индекс, обратитесь к разделу 9.7 “Using”.
WHERE определяет образцы MATCH более детально. Предикаты являются частью описания образца, а не фильтром, применяемым после того, как сопоставление уже сделано. Это означает, что WHERE всегда должно рассматриваться вместе с предложением MATCH, которому оно принадлежит.
После нахождения стартовых точек – либо при помощи сканирования, индексов, либо уже имеющихся точек привязки – исполнительный механизм будет использовать сопоставление с образцом, чтобы найти совпадающие подграфы.
Поскольку Cypher является декларативным языком, он может изменить порядок этих операций. Предикаты в предложении WHERE могут оцениваться перед сопоставлением с образцом, во время сопоставления, или после нахождения соответствий.
Совет
Чтобы понять образцы, используемые в предложении MATCH, прочитайте Раздел 8.5 “Образцы”.
Следующий граф используется для нижеприведенных примеров:
Рис. 10.1 Граф