格林姆林:通过“名称”属性查找顶点的重复项并作为“ id”列表执行

时间:2019-04-25 19:52:39

标签: orientdb gremlin

下面的代码按名称对所有userProfileTemplates进行分组,查找重复的位置,然后投影name => 1的userProfileTemplate的“名称”。我想按“ name”查找重复的内容,但我想将其作为“ 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')

更新:下面正在执行名为“值”的列,该列具有与重复的“名称”相对应的多个“ id”,并用逗号分隔。

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

我还要执行一列,为所有重复的ID显示相应的“名称”。

1 个答案:

答案 0 :(得分:1)

这几乎是您已经拥有的,只需要添加另一个by()

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