#gStore-weekly | gStore支持SPARQL查询语法之聚合函数
今天向大家介绍一下gStore支持的SPARQL查询语法之聚合函数。
聚合函数用在 SELECT 语句中,语法如下:
其中,AGGREGATE_NAME 是聚合函数的名称,变量 ?x 是聚合函数作用的对象,变量 ?y 是终结果中聚合函数值的列名。
聚合函数作用于各组结果。返回的全部结果默认作为一组。
2、gStore支持的聚合函数
gStore目前支持6种聚合函数,分别如下:
3、简单的示例数据
在开始介绍各聚合函数的使用之前,我们准备好一个示例数据:
4、各聚合函数具体使用
聚合函数COUNT
用于计数的聚合函数。例如查询给出示例数据中职业为演员的人物的数目:
SELECT (COUNT(?person) AS ?count_person)
WHERE
{
?person <职业> "演员" .
}
结果如下:
聚合函数SUM
用于求和的聚合函数。例如查询给出示例数据中所有电影的豆瓣评分之和:
SELECT (SUM(?score) AS ?sum_score)
WHERE
{
?movie <豆瓣评分> ?score .
}
结果如下:
聚合函数AVG
用于求平均值的聚合函数。例如给出示例数据中所有电影的平均豆瓣评分:
SELECT (AVG(?score) AS ?avg_score)
WHERE
{
?movie <豆瓣评分> ?score .
}
结果如下:
聚合函数MIN
用于求小值的聚合函数。例如查询给出示例数据中所有电影的低豆瓣评分:
SELECT (MIN(?score) AS ?min_score)
WHERE
{
?movie <豆瓣评分> ?score .
}
结果如下:
聚合函数MAX
用于求大值的聚合函数。例如查询给出示例数据中所有电影的高豆瓣评分:
SELECT (MAX(?score) AS ?max_score)
WHERE
{
?movie <豆瓣评分> ?score .
}
结果如下:
聚合函数GROUP BY
按照某一个变量的值对结果分组。例如查询给出示例数据中的所有职业及对应的人数:
SELECT ?occupation (COUNT(?person) AS ?count_person)
WHERE
{
?person <职业> ?occupation .
}
GROUP BY ?occupation
结果如下:
本文通过示例表达了gStroe支持的6种聚合函数,这些为新手在使用SPARQL的聚合函数中提供了思路。同时也表明了聚合函数作用于各组结果,返回的全部结果默认作为一组。
相关文章