Gremlin: Найти дубликаты вершины по свойству name и выполнить как список id - PullRequest
0 голосов
/ 25 апреля 2019

Приведенный ниже код группирует все userProfileTemplates по имени, находит, где есть дубликаты, а затем проецирует «имя» userProfileTemplate, где количество имен> 1. Я хочу найти дубликаты по «имени», но я хочу выполнить его как список «Id» (Id является свойством userProfileTemplate). Есть предложения?

g.V().hasLabel('userProfileTemplate').group().by(values('name').fold()).unfold().filter(select(values).count(local).is(gt(1))).select(keys)unfold().project('Duplicate User Profiles')

Обновление: ниже выполняется столбец с именем «value» с кратным «id», который соответствует дубликату «name», разделенных запятыми в скобках между ними.

g.V().hasLabel('userProfileTemplate').group().by('name').by('id').unfold().filter(select(values).count(local).is(gt(1))).select(values)

Я также хотел бы выполнить столбец, который показывает соответствующее «имя» для всех дубликатов.

1 Ответ

1 голос
/ 25 апреля 2019

Это почти то, что у вас уже есть, вам нужно только добавить еще by().

g.V().hasLabel('userProfileTemplate').
  group().
    by('name').
    by('Id').
  unfold().
  filter(select(values).count(local).is(gt(1))).
  select(keys)
...