获取 Wikidata 项目查看次数/流行度指数

这是我的 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&generator=allpages&gaplimit=max&gapfilterredir=nonredirects&gapfrom=a&prop=pageviews

但我不知道维基数据是否也存在此类指标,或者是否可以为此使用任何其他索引。

tao888888 回答:获取 Wikidata 项目查看次数/流行度指数

页面浏览数量被记录,因为在任何项目视图中点击左侧导航栏中的页面信息,将会显示。这些数字也可用 in this tool 并且我敢打赌,通过 API。实际上,只需将示例 URL 中的主机名更改为 Wikidata works

但是,如果您想要/需要查询界面中的数据,这并没有多大帮助。为此,我建议使用不同的“流行度”代理。一个常见的是包含有关该主题的文章或“附加链接”的语言版本的数量。这是如何工作的:

[... 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))

...但恐怕维基数据还不够完整,以至于它不可靠,尤其是因为许多科学论文与其作者没有正确联系。

本文链接:https://www.f2er.com/18743.html

大家都在问