下面是我的SPARQL查询,用于列出数学家及其维基百科链接和图像:
SELECT DISTINCT ?pers ?persLabel ?nameLabel ?persDescription ?link ?img
WHERE {
?pers wdt:P31 wd:Q5.
{?pers wdt:P101* wd:Q395} union {?pers wdt:P106* wd:Q170790}.
?pers wdt:P734 ?name.
optional {?link schema:about ?pers; schema:isPartOf <https://en.wikipedia.org/>. }
optional {?pers wdt:P18 ?img. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
limit 100
接下来我要做的是使用某种流行指数过滤列表中最著名/最受欢迎的条目。在一个Wikimedia Action API查询中,我会使用page viewcount属性来获得一段时间内(比如60天)的平均浏览量,从而得出文章的用户受欢迎程度的估计值,例如
https://www.mediawiki.org/w/api.php?action=query&发电机= allpages& gaplimit = max& gapfilterredir = nonredirects& gapfrom =第一部;支持=页面浏览量
然而,我不知道维基数据是否也存在这样的指标,或者是否有其他索引可以用于此目的。
页面浏览量的数字被记录,因为点击页面信息在左边的导航栏,在任何项目视图,将显示。这些数字也可以在这个工具中找到,我敢打赌,也可以通过API找到。实际上,只需在示例URL中将主机名更改为Wikidata即可。
但是,如果您想要/需要查询接口中的数据,那么并没有太大帮助。为此,我建议用另一种方式来衡量"受欢迎程度"。常见的一个是有关于主题的文章或"站点链接"的语言版本的数量。下面是它的工作原理:
[... your query as before ...]
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
?pers wikibase:sitelinks ?sitelinks.
} order by desc(?sitelinks)
或者,您可以尝试发布的数量:
?publication wd:P50 ?pers.
} GROUP BY ?pers ORDER BY desc(COUNT(?publication))
…但我担心维基数据还不够完整,不足以使其可靠,特别是因为许多科学论文没有正确地与作者联系在一起。