在 SPARQL 中聚合超过计数的变量?

Aggregating over counted variables in SPARQL?

Wikidata SPARQL endpoint 上,我正在尝试制作某个特定期刊中文章被引用次数的直方图。引用计数在数据库中没有明确显示,所以我必须先计算它们。但是后来我基本上想要直方图来显示引用计数分布,即一篇论文被引用 X 次的次数。所以,像这样:

SELECT ?work (COUNT(?citing_work) AS ?count)
             (COUNT(?count) AS ?hist)
WHERE {
  ?work wdt:P1433 wd:Q6294930.
  ?citing_work wdt:P2860 ?work.
}
GROUP BY ?work ?count
ORDER BY DESC(?count)

但这并没有完全达到我的预期,并为此历史变量给出了零:

我确实尝试不输出 ?work 的 ID,但这实际上只是删除了第一列。但仍然给出四行引用计数 17。但我想要一行 ?count = 17?hist = 4(见截图).

如何更新此 SPARQL 查询?

我想你需要两次选择。我能做到:

#defaultView:LineChart
select ?count (count(?work) as ?hist) where {
  {
    SELECT ?work (COUNT(?citing_work) AS ?count)
    WHERE {
      ?work wdt:P1433 wd:Q6294930.   
      ?citing_work wdt:P2860 ?work.
    }
    GROUP BY ?work 
  }
} 
group by ?count
order by ?count