Gremlin按顶点属性分组并获取相同顶点中的其他属性

时间:2017-07-14 05:00:30

标签: graph datastax-enterprise gremlin tinkerpop tinkerpop3

我们有顶点,它将存储各种作业及其类型和计数属性。我必须根据状态和他们的数量进行分组。我尝试了以下查询,该查询适用于一个属性(receiveCount)

g.V().hasLabel("Jobs").has("Type",within("A","B","C")).group().by("Type").by(fold().match(__.as("p").unfold().values("receiveCount").sum().as("totalRec")).select("totalRec")).next()

我想再提供10个属性,如successCount,FailedCount等。有没有更好的方法来实现?

1 个答案:

答案 0 :(得分:1)

您可以使用cap()步骤,如:

g.V().has("name","marko").out("knows").groupCount("a").by("name").group("b").by("name").by(values("age").sum()).cap("a","b")

结果将是:

"data": [ { "a": { "vadas": 1, "josh": 1 }, "b": { "vadas": [ 27.0 ], "josh": [ 32.0 ] } } ]