Задайте метки, типы связей и смысл направления до написания MATCH.
Зачем
Зачем это нужно
Различите список путей и список уникальных конечных узлов.
Ограничьте глубину и посмотрите стартовую выборку в плане запроса.
Вопросы
Частые вопросы
Как показать граф для проверяемого запроса?
«Учебные связи A→B, A→C, B→D, C→D и B→A. Нужны люди ровно второго уровня, без A и прямых соседей; ожидаю только D». Попросите нарисовать пути словами и затем написать запрос. Два пути к D не означают двух людей. Этот пример одновременно проверяет глубину, направление, исключение начального узла и правило устранения повторяющихся результатов.
Почему запрос возвращает слишком много строк?
Возможны несколько путей к одному узлу, декартово сочетание независимых частей или слишком широкий обход. Попросите показать число строк после каждого значимого оператора плана. DISTINCT в конце иногда скрывает последствия, но не отменяет уже выполненную работу. Сначала ограничьте стартовую выборку, допустимые связи и глубину по смыслу задачи, затем оцените необходимость устранения дублей.
Чем отличаются EXPLAIN и PROFILE?
Один способ показывает план без обычного выполнения запроса, другой собирает фактические показатели при его выполнении. Для изменяющих запросов это особенно важно. Попросите безопасный порядок диагностики и проверьте команду для вашей версии Neo4j. Не запускайте дорогое или меняющее данные выражение только ради получения красивого плана; сначала используйте маленький учебный граф с заранее известным результатом.
Когда графовая модель оправданна?
Когда основная задача связана с обходом отношений и путей, которые неудобно выразить фиксированным набором соединений. Для простого отчёта по суммам отдельная графовая база может быть лишней. Енотик поможет сравнить конкретные запросы, но не подтверждает быстродействие без данных и плана. Укажите объём, ветвление и ограничения пути: одинаковая глубина на разных графах даёт разную стоимость вычисления.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.