Мне нужно сгруппировать данные из базы данных neo4j, а затем отфильтровать все, кроме верхних n
записей каждой группы.Получение первых записей n для каждой группы в neo4j
Пример:
У меня есть два типа узлов: Order и статьи. Между ними есть отношение «ДОБАВЛЕНО». Отношение «ADDED» имеет свойство timestamp. То, что я хочу знать (для каждой статьи), - это то, сколько раз оно было среди первых двух статей, добавленных в заказ. То, что я пытался это следующий подход:
получить все ПОРЯДКА [ADDED] -Статие
сортировки результатов, начиная с шагом 1 по идентификатору заказа, как первый ключ сортировки, а затем временные метким ДОБАВЛЕННЫХ отношений как второй ключ сортировки;
для каждой подгруппы из шага 2, представляющего один заказ, сохраняйте только верхние 2 строки;
Подсчет отдельных идентификаторов товаров на выходе шага 3;
Моя проблема в том, что я застрял на шаге 3. Возможно ли получить две верхние строки для каждой подгруппы, представляющей заказ?
Спасибо,
Тибериу
Не могли бы вы показать нам свою модель? – MicTech
Вы ищете что-то вроде этого http://stackoverflow.com/questions/32907134/return-top-n-results-for-each-query-in-neo4j? – jjaderberg