В Gremlin, как я могу сгруппировать пары элементов по свойству одного из них? - PullRequest
0 голосов
/ 16 ноября 2018

После некоторого обхода я выбираю интересующие меня элементы через select().Как я могу сгруппировать по одному из свойств из одного конкретного элемента.

Что я сделал:

g.V() // ... some traversal happens here where I obtain a and b
select('a','b').by(valueMap('Name', 'Description', 'Label'))

Сейчас это дает мне все данные, которые меня интересуют, что-то вроде:

[
  {
    "a": { "Name": "A name" ... },
    "b": { "Name": "other name" ... },
  }
  ...
]

Но я знаю, что b.Name повторяется среди разных пар a,b, и поэтому я хотел бы сгруппировать все элементы a по их общему элементу b, я думаю, что это должноэто легко сделать, но пока я не могу это сделать.

1 Ответ

0 голосов
/ 16 ноября 2018

Вероятно, лучше переписать весь обход, но, поскольку вы держали это в секрете, вот как вы будете делать постгруппировку:

g.V()...
  select('a','b').
    by(valueMap('Name', 'Description', 'Label')).
  group().
    by(select('b')).
    by(select('a').fold())
...