在 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
在 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