我有“name”作为属性的项目,我想生成重复列表。我尝试通过按名称对项目进行分组,并使用where子句来过滤项目名称的计数大于1的结果并显示这些名称。
下面会生成一个项目名称列表,其中包含每个项目的计数 g.V()。hasLabel( '项目')。groupCount()。通过( '名')
所以我添加了过滤器以仅查找重复值,但它不起作用: g.V()。hasLabel( '项目')。groupCount()。由( '姓名')。其中(选择(值)。是(GT(1)))。值( '姓名')
你需要unfold()
计数Map()
,因此:
g.V().hasLabel('project').
groupCount().
by('name').
unfold().
where(select(values).is(gt(1))).
values('name')
如果你没有unfold()
,你在管道中有一个Map
,当你真的想将它应用于where()
中的每个单独的键/值对时,它会尝试将你的Map
应用于整个对象。
这对我有用:
g.V().hasLabel('project')
.group().by(values('name')
.fold()).unfold().filter(select(values)
.count(local).is(gt(1))).select(keys)