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

第11期 Gremlin Steps:

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

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

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

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

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

sum():将流上的所有的数字求和;
max():对流上的所有的数字求最大值;
min():对流上的所有的数字求最小值;
mean():将流上的所有的数字求均值;
这四种Step只能作用在Number类型的流上,在java里就是继承自java.lang.Number类。

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

Step sum()

示例1:

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

示例2:

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

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

Step max()

示例1:

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

示例2:

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

Step min()

示例1:

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

示例2:

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

Step mean()

示例1:

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

示例2:

// 计算所有“person”的“created”出边数的均值
g.V().hasLabel(‘person’).map(outE(‘created’).count()).mean()
————————————————
版权声明:本文为CSDN博主「苏黎世黄昏」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010260089/article/details/82787808

你可能感兴趣的:(学习)