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

Sad*_*ads 4 graph gremlin datastax-enterprise 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()
Run Code Online (Sandbox Code Playgroud)

我想提供 10 个以上的属性,例如 successCount、FailedCount 等。有没有更好的方法来提供呢?

Joh*_*ohn 5

cap()您可以像这样使用步骤:

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

结果是:

 "data": [
      {
        "a": {
          "vadas": 1,
          "josh": 1
        },
        "b": {
          "vadas": [
            27.0
          ],
          "josh": [
            32.0
          ]
        }
      }
    ]
Run Code Online (Sandbox Code Playgroud)