Я пытаюсь вернуть ограниченное количество вершин, соответствующих шаблону, а также общее ( неограниченное ) количество вершин, соответствующих этому шаблону.
g.V()
.hasLabel("PersonPublic")
.has('partitionKey', "Q2r1NaG6KWdScX4RaeZs")
.has('docId', "Q2r1NaG6KWdScX4RaeZs")
.out("CONTACT_LIST")
.out("SUBSCRIBER")
.dedup()
.order()
.by("identifier")
.by("docId")
.fold()
.project('people','total')
.by(
unfold()
.has('docId', gt("23")),
.limit(2)
.project('type','id')
.by(label())
.by(values('docId'))
)
.by(unfold().count())
Говоря простым языком, я нахожу человека, нахожу все списки контактов этого человека, нахожу всех подписчиков на эти списки контактов, дедуплицирую подписчиков, заказываю подписчиков, делаю паузу, чтобы собрать всеи затем проецируя результаты в виде
{
people: [{type: string, id: string}],
total: number,
}
Часть проекции "люди" развернута, отфильтрована и содержит результаты только с "docId" больше, чем "23",ограничено 2, а затем спроецировано снова.
«Общая» часть проекции развернута (без ограничений) и подсчитана.
Моя цель - разрешить разбиение по шаблону при одновременном получении общего количества вершин, связанных с шаблоном.
К сожалению, на cosmosdb этот запрос не работает.Результаты имеют вид
{
people: {type: string, id: string},
total: number,
}
И возвращается только результат от первого лица (а не массив).
Любая помощь будет принята с благодарностью!