Sparql BIND计数结果WITH A VARIABLE

时间:2015-09-17 04:47:57

标签: sparql

计算的结果绑定是否有办法?我尝试了以下(不起作用):

SELECT ?totalSubject WHERE {
  ?s ?p ?o
  BIND(COUNT(?s) AS ?totalSubject)
}

1 个答案:

答案 0 :(得分:7)

COUNTaggregate函数,仅可用于定义投影变量。要计算所有匹配项,您的具体示例应为:

SELECT ( COUNT(?s) AS ?totalSubject ) WHERE {

    ?s ?p ?o. 

}

但是,聚合函数通常应用于groups个匹配项。例如,计算按类型分组的科目:

SELECT ?t ( COUNT(?s) AS ?totalSubject ) WHERE {

     ?s a ?t.

} GROUP BY ?t

请注意,在使用聚合函数时,您的查询受某些restrictions的限制:所选变量必须为

  • GROUP BY中包含的简单变量;或
  • 聚合或常数值。