SPARQL过滤COUNT

时间:2012-08-09 16:44:42

标签: rdf sparql

我想过滤计数结果。我正在使用以下查询:

SELECT (COUNT(*) AS ?total)
WHERE {
    ?s sf:RatioSWO ?o .
 }
GROUP BY ?total

这只给出了谓词的总行数。我在COUNT(*)之后放置了一个“< 0.5”来尝试过滤,但这只是给了我一个“假”的结果,我不明白这意味着什么。我也试过HAVING和FILTER,但都没有给我任何结果。

2 个答案:

答案 0 :(得分:14)

如果你想返回?total-s where?total is<你可以做到0.5:

SELECT (COUNT(*) AS ?total)
WHERE {
    ?s sf:RatioSWO ?o .
}
GROUP BY ?s
HAVING (?total < 0.5)

从这个问题来看,你的意思并不清楚。

答案 1 :(得分:3)

我不太确定你想要达到的目标,但是如何:

SELECT (COUNT(*) AS ?total)
WHERE {
    ?s sf:RatioSWO ?o .
    FILTER (?o < 0.5)
}

这会计算值大于0.5的sf:RatioSWO三元组的数量。