Как разбивать результаты запроса на cypher? - программирование
Подтвердить что ты не робот

Как разбивать результаты запроса на cypher?

Возможно ли, чтобы запрос cypher был разбит на страницы. Например, список продуктов, но я не хочу отображать/извлекать/кэшировать все результаты, так как у меня может быть много результатов.

Я ищу что-то похожее на смещение/ограничение в SQL.

Является ли cypher skip + limit + orderby хорошим вариантом? http://docs.neo4j.org/chunked/stable/query-skip.html

4b9b3361

Ответ 1

SKIP и LIMIT вместе - это действительно путь. Использование ORDER BY неизбежно заставляет cypher сканировать каждый node, который имеет отношение к вашему запросу. То же самое для использования предложения WHERE. Производительность не должна быть такой плохой.

Ответ 2

Как обычный sql, синтаксис следующий:

match (user:USER_PROFILE)-[USAGE]->uUsage 
where HAS(uUsage.impressionsPerHour) AND (uUsage.impressionsPerHour > 100) 
ORDER BY user.hashID 
SKIP 10 
LIMIT 10; 

Этот синтаксис подходит для последней версии (2.x)