g.V().as('a').
outE().as('r').
inV().as('b').
select('a', 'r', 'b').
project('source','label','target').
by(select('a').label()).
by(select('r').label()).
by(select('b').label()).
groupCount().
order(local).by(values, desc).
unfold()
Этот запрос должен работать с любым набором данных gremlin.
пример вывода:
==>{source=Node, label=POINTS_AT, target=Node}=63
==>{source=Node, label=IS_RELATED_TO, target=Other}=14
==>{source=Other, label=POINTS_AT, target=Other}=3
Я только начинаю изучать Gremlin. Этот запрос выполняет groupCount для исходящей метки вершины, метки края и метки вершины и упорядочивает результаты по значениям, которые являются просто счетчиками.
Ключи - это записи карты с несколькими значениями 'source', "ярлык" и "цель". Я хотел бы упорядочить результаты по метке края, затем по исходной метке и в последнюю очередь по целевой метке. Как я могу выполнить sh это?
Кроме того, есть ли лучший способ подойти к этому, чем запрос, который я придумал?