Запрос Neo4j Cypher: сбор заказов, возьмите первые n элементов

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

В Cypher модель графа такова:(user)-[:WROTE_REVIEW]->(review)-[:EVALUATES]->(post)

Запрос яПри попытке написать должны быть возвращены все сообщения, просмотренные определенным пользователем, а также некоторая общая информация об отзывах.

Это включает:

(пост 's ID)пост 'изображение спост 'описаниеобщее количество отзывов на этот постобщее количество рецензентов этого постааватары последних 6 рецензентов этого поста, упорядоченные по дате обзора, по убыванию

Я думаю я'Мне удалось выполнить первые пять пунктов, но пункт 6 доставляет мне неприятности. Запрос ниже дает мне все аватары, а мне нужны только последние 6.

START user=node(2515)
MATCH (user)-[:WROTE_REVIEW]->()-[:EVALUATES]->(post)
WITH distinct post
MATCH (review)-[:EVALUATES]->(post)
WITH post, count(review) as reviews
MATCH (reviewer)-[:WROTE_REVIEW]->()-[:EVALUATES]->(post)
WITH post, reviews, count(distinct reviewer) as reviewers, collect(distinct reviewer.Avatar) as avatars
ORDER BY post.CreationTime DESC
RETURN post.Id, post.Image, post.Description, reviews, reviewers, avatars;

Может кто-нибудь показать мне, как заказать аватары по дате обзора (т.е.review.CreationTime) по убыванию, и взять первые шесть предметов?

Спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос