首页 文章

Gremlin:GroupBy顶点,计数> 1

提问于
浏览
2

我正在使用TITAN 0.4和gremlin进行遍历 . 我的要求是在图中识别重复的顶点,并合并它们 . 图中有大于15 M的顶点 .

gremlin> g.V.has('domain').groupBy{it.domain}{it.id}.cap

==>{google.com=[4], yahoo.com=[16, 24, 20]}

我能够对顶点进行分组,但我只需要那些不止一次存在的域(顶点) .

在上面的例子中,我只需返回 ==>{yahoo.com=[16, 24, 20]} 键"domain"被索引,如果这有任何区别 .

请帮帮我

2 回答

  • 2

    考虑使用 groupCount 而不是 groupBy 来保存计算收集列表中的ID的步骤:

    g.V.has('domain').groupCount(it.domain}.cap.next().findAll{it.value>1}
    

    我认为这在更大的遍历上更便宜,因为你只是维护一个计数器而不是标识符列表 .

  • 0

    老问题,但你是否尝试下面强制索引?

    g.V.hasNot('domain', null).groupBy{it.domain}{it.id}.cap

相关问题