use*_*616 4 count aggregate-functions sparql
我有这个问题
SELECT ?s WHERE {?a <http://xmlns.com/foaf/0.1/topic_interest> ?s}
Run Code Online (Sandbox Code Playgroud)
返回
aaa
aaa
aaa
bbb
bbb
ccc
Run Code Online (Sandbox Code Playgroud)
但是,我想将其显示为
aaa | 3
bbb | 2
ccc | 1
Run Code Online (Sandbox Code Playgroud)
我正在使用dotnetrdf.这是我试过的
SELECT (COUNT(*) AS ?s) WHERE {?a <http://xmlns.com/foaf/0.1/topic_interest> ?s}
Run Code Online (Sandbox Code Playgroud)
这只是给了我3080行的行数.
你能告诉我怎么做对吗?
谢谢
这是因为COUNT(*)只计算每个组的结果行
如果查询中没有GROUP BY子句,那么所有结果都有一个隐式组,因此您只需获得行数.
如果您在查询中添加GROUP BY,如下例所示,您应该得到所需的结果:
SELECT (COUNT(*) AS ?count)
WHERE
{
?a <http://xmlns.com/foaf/0.1/topic_interest> ?s}
} GROUP BY ?s
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3457 次 |
| 最近记录: |