我想过滤计数结果。我正在使用以下查询:
SELECT (COUNT(*) AS ?total)
WHERE {
?s sf:RatioSWO ?o .
}
GROUP BY ?total
这只给出了谓词的总行数。我在COUNT(*)之后放置了一个“< 0.5”来尝试过滤,但这只是给了我一个“假”的结果,我不明白这意味着什么。我也试过HAVING和FILTER,但都没有给我任何结果。
答案 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
三元组的数量。