Gremlin按起始节点分组路径输出:如何按软件分组统计创作者平均年龄
Gremlin 按软件分组计算创作者平均年龄实现方案
你可以直接使用如下查询语句实现需求:
g.V().hasLabel('software') .group() .by('name') .by(in('created').values('age').mean())
语句逻辑说明
g.V().hasLabel('software'):筛选出图中所有标签为software的节点,这里需要注意你之前写的g.V('software')是错误用法,g.V()括号内传入的是节点ID,按标签筛选必须使用hasLabel方法group():启动分组聚合逻辑- 第一个
by('name'):指定分组的key为软件的name属性,和你期望输出的软件名key对应 - 第二个
by(...):指定每个分组的value计算规则,先沿created边反向遍历找到所有创建当前软件的person节点,提取这些节点的age属性后计算平均值
- 第一个
基于TinkerPop现代玩具图运行上述语句,返回结果为:{lop=32.0, ripple=32.0},完全符合你要求的键值对输出格式。
内容的提问来源于stack exchange,提问作者OlorinIstari
相关产品推荐
相关产品推荐

