我想过滤计数结果。我正在使用以下查询:
SELECT (COUNT(*) AS ?total)
WHERE {
?s sf:RatioSWO ?o .
}
GROUP BY ?total
这只会给我谓词的总行数。我已经尝试通过在 COUNT(*) 之后放置“< 0.5”来进行过滤,但这只会给我一个“假”的结果,我不知道这意味着什么。我也尝试过 HAVING 和 FILTER 但都没有给我任何结果。
如果你想返回 ?total-s 哪里 ?total < 0.5 你可以这样做:
SELECT (COUNT(*) AS ?total)
WHERE {
?s sf:RatioSWO ?o .
}
GROUP BY ?s
HAVING (?total < 0.5)
从这个问题不清楚你的意思。
我不太确定你想要实现什么,但是这个怎么样:
SELECT (COUNT(*) AS ?total)
WHERE {
?s sf:RatioSWO ?o .
FILTER (?o < 0.5)
}
这会计算sf:RatioSWO
值大于 0.5 的三元组的数量。