Sparql中的绑定聚合计数

时间:2014-05-06 21:06:35

标签: binding count sparql aggregation

我有一个sparql查询:

PREFIX kpsp:<http://www.kalikautsar.com/kpsp#>  
SELECT ?name (COUNT(?yesanswer) AS ?yestotal) ?Right ?Doubt ?Wrong
 WHERE {
    ?instance rdf:type kpsp:bayi.
    ?instance kpsp:name ?name.
    ?instance kpsp:yes_answer ?yesanswer.
    BIND (?yestotal >8 AS ?Right)
    BIND (?yestotal >6 && ?yestotal <9 AS ?Doubt)
    BIND (?yestotal <7 AS ?Wrong)
}
GROUP BY ?name ?Right ?Doubt ?Wrong

但是?Right ?Doubt ?Wrong的结果没有出来,我认为一旦我使用?yestotal就会出现问题。那么如何绑定?yestotal(作为?yesanswer count的结果)以便我可以在上面的计算中使用它?

1 个答案:

答案 0 :(得分:1)

此查询在语法上无效。尝试http://sparql.org/query-validator.html(添加缺少的前缀声明后)

COUNT导致存在单个组并聚合WHERE模式。没有明确的GROUP BY变量。

?name中使用?Right?Doubt?WrongSELECT不合法,因为它们既不是GROUP BY变量也不是聚合。