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

第12期 Gremlin Steps:

math()

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

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

数学运算说明

在Gremlin中有一个专门负责科学计算功能的step math()math() 不同于常见的函数组合和嵌套形式,提供了一种易于读取的基于字符串的数学处理器。

  • math() 支持by(),其中多个by() 按照在math()运算表达式中首次引用变量的顺序应用。
  • 保留变量_是指传入math()的当前遍历器对象。

math()支持的运算符包括:+-*/%^

math()支持的内嵌函数包括:

  • abs: absolute value,绝对值
  • acos: arc cosine,反余弦
  • asin: arc sine,反正弦
  • atan: arc tangent,反正切
  • cbrt: cubic root,立方根
  • ceil: nearest upper integer,向上最接近的整数
  • cos: cosine,余弦
  • cosh: hyperbolic cosine,双曲余弦
  • exp: euler’s number raised to the power (e^x),以e为底的指数
  • floor: nearest lower integer,向下最近接的整数
  • log: logarithmus naturalis (base e),以e为底的对数
  • log10: logarithm (base 10),以10为底的对数
  • log2: logarithm (base 2),以2为底的对数
  • sin: sine,正弦
  • sinh: hyperbolic sine,双曲正弦
  • sqrt: square root,平方根
  • tan: tangent,正切
  • tanh: hyperbolic tangent,双曲正切
  • signum: signum function,签名功能

实例说明

1. math中的floor语句
// 比如按照年龄段进行统计
g.V().hasLabel('person')
 .groupCount().by(values('age').math('floor(_/10)*10'))
 .order(local).by(values,desc)

更多资料可以先参考TinkerPop官网对于math()step的实例说明

上一期:深入学习Gremlin(11):统计运算
下一期:深入学习Gremlin(13):路径选取与过滤

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值