【问题标题】:Gremlin groupBy in JavaJava 中的 Gremlin group By
【发布时间】:2014-06-06 17:21:18
【问题描述】:

假设我有这个图表:

     +--own--> [made=Renault] --------------is-------------+
[name=Joan]                                                v
     +--own--> [made=Citroen] --is--> [type=Gas]      [type=Diesel]
     +--own--> [made=Peugeot] --is--> [type=Gas]           ^
[name=Jacky] --own--> [made=Opel] ------------is-----------+

现在我想生成每个个人拥有的类型燃料列表。

| Person |  Type  |
+--------+--------+  
| Joan   | Gas    |
| Joan   | Diesel |
| Jacky  | Diesel |

在 SQL 中,我可能会在 TypeName 上都使用 ORDER BY,但在 Gremlin 中我不明白如何对它们进行分组?

【问题讨论】:

    标签: java graph-databases gremlin


    【解决方案1】:

    table pipe 就是这样做的。我让您的模型加载了一个名为“_stp_type”的索引属性,其中包含 Joan 和 Jacky 的值“Person”。我也有他们的“名称”属性。

    g.idx('entities')[['_stp_type':'Person']].Name.as('Owner').back(1).out('Owns').Type.as('Type').table().cap().next().unique()
    

    返回:

    [
        [
            Jacky,
             Diesel
        ],
         [
            Joan,
             Diesel
        ],
         [
            Joan,
             Gas
        ]
    ]
    

    需要唯一的方法(在 table 类上)来防止 Joan 为每辆汽油动力车辆拥有单独的条目。

    【讨论】:

    • 太棒了! .back(int) 似乎已被弃用,所以我使用了一个命名的。
    猜你喜欢
    • 1970-01-01
    • 2016-12-08
    • 2018-08-18
    • 2017-10-05
    • 2018-01-10
    • 2022-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多