深入学习Gremlin(11):统计运算

第11期 Gremlin Steps:

sum()max()min()mean()

本系列文章的Gremlin示例均在HugeGraph图数据库上执行,环境搭建可参考准备Gremlin执行环境,本文示例均以其中的“TinkerPop关系图”为初始数据。

tinkerpop关系图

上一期:深入学习Gremlin(10):逻辑运算

统计运算说明

Gremlin可以在Number类型的流(遍历器)上做简单的统计运算,包括计算总和、最大值、最小值、均值。

下面讲解实现上述功能的具体Step:

  • sum():将流上的所有的数字求和;
  • max():对流上的所有的数字求最大值;
  • min():对流上的所有的数字求最小值;
  • mean():将流上的所有的数字求均值;

这四种Step只能作用在Number类型的流上,在java里就是继承自java.lang.Number类。

实例讲解

下面通过实例来深入理解每一个操作。

  1. Step sum()

    示例1:

    // 计算所有“person”的“age”的总和
    g.V().hasLabel('person').values('age').sum()
    

    示例2:

    // 计算所有“person”的“created”出边数的总和
    g.V().hasLabel('person').map(outE('created').count()).sum()
    

    试着输入g.V().hasLabel('person').map(outE('created').count())看看每个“person”的“created”出边数

  2. Step max()

    示例1:

    // 计算所有“person”的“age”中的最大值
    g.V().hasLabel('person').values('age').max()
    

    示例2:

    // 计算所有“person”的“created”出边数的最大值
    g.V().hasLabel('person').map(outE('created').count()).max()
    

  3. Step min()

    示例1:

    // 计算所有“person”的“age”中的最小值
    g.V().hasLabel('person').values('age').min()
    

    示例2:

    // 计算所有“person”的“created”出边数的最小值
    g.V().hasLabel('person').map(outE('created').count()).min()
    

  4. Step mean()

    示例1:

    // 计算所有“person”的“age”的均值
    g.V().hasLabel('person').values('age').mean()
    

    示例2:

    // 计算所有“person”的“created”出边数的均值
    g.V().hasLabel('person').map(outE('created').count()).mean()
    

下一期:深入学习Gremlin(12):数学运算

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值