Gremlin:通过'name'属性查找顶点的副本并执行'id'列表

问题描述 投票:0回答:1

下面的代码按名称对所有userProfileTemplates进行分组,找到有重复项的位置,然后投影userProfileTemplate的“name”,其中name的数量> 1.我想通过“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')

更新:以下是执行名为“value”的列,其中多个“id”对应于重复的“name”,在逗号之间用逗号分隔。

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

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

orientdb gremlin
1个回答
1
投票

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

g.V().hasLabel('userProfileTemplate').
  group().
    by('name').
    by('Id').
  unfold().
  filter(select(values).count(local).is(gt(1))).
  select(keys)
© www.soinside.com 2019 - 2024. All rights reserved.