Представь, что у меня есть актеры и фильмы.Как я могу написать одиночный запрос , который для данного списка актеров возвращает список из 5 наборов из пяти самых последних фильмов, в которых участвовал актер (отсортировано по убыванию по дате фильма)?
Более конкретно : дан список: db / id с именем актеров и моделей:
Актер:
:db/id
:actor/name str
:actor/movie ref
Фильм:
:db/id
:db/name str
:db/date inst
Я хочу написать запрос, например:
(d/q '[:find ?actor ???????
:in $ [?actor ...]
:where ??????????] snapshot actors)
Ожидаемые результаты:
[[1 [2 3 4 5 6]
7 [8 9 10 11 12]]
Где 1
и 7
- идентификаторы актеров, а 2,3,4,5,6,8,9,10,11,12
- идентификаторы фильмов.
Теперь у меня есть сильное ощущение, что такой запрос не может бытьпостроены.Если я прав, как я могу получить эту информацию кусками (представьте, что у каждого актера есть тонны и тонны фильмов, в которых они были сняты, слишком много, чтобы уместиться в памяти)?