Я на начальных этапах изучения гремлина и поэтому начинаю с проекта в OrientDB (с включенным tinkerpop), использующего гремлин. У меня есть следующие вершины
команды
клиенты
лиц
технологии
Для всех намерений и целей работали только с командами, клиентами и технологиями.
Команды поддерживают клиентов, клиент внедряет технологии. Таким образом, схема для этой проблемы выглядит следующим образом
Vertex (метка: команда) -> Пограничные (метка: опоры) -> Vertex (метка: клиент) -> Край (метка: has_implemented) -> Vertex (метка: технология)
Каждый клиент будет поддерживаться только одной командой, но технологии могут использоваться моими несколькими клиентами.
То, что я пытаюсь получить, - это количество технологий, которые будут поддерживаться каждой командой путем проверки клиентов, которых они поддерживают, и технологий, которые используют эти клиенты.
Используя приведенный ниже код, я могу получить количество каждого отдельного номера команды и технологии, но я не могу сделать заказ по убыванию числа. Я посмотрел на другие примеры группировки по обмену стека и думаю, что с select () дела идут не так, но я не уверен, что мне следует делать вместо этого.
g.V().hasLabel('team').as('a').out('supports').out('has_implemented').as('b').select('a','b').by('teamnumber').by('name').groupCount().as('count').unfold()