【问题标题】:Get Wikidata item view count / popularity index获取 Wikidata 项目查看次数/流行度指数
【发布时间】:2021-07-29 04:15:54
【问题描述】:

这是我的 SPARQL 查询,用于列出数学家及其 Wikipedia 链接和图像:

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

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

【问题讨论】:

  • 在 Wikidata 查询服务中获取项目流行度的伪值的常用方法是计算它拥有的附加链接的数量。理论是,创建关于它的文章的项目越多,它的知名度就越高。

标签: metadata sparql wikidata wikimedia wikidata-api


【解决方案1】:

页面浏览量被记录,点击左侧导航栏中的页面信息,在任何项目视图中都会显示。这些号码也可以通过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))

...但恐怕 Wikidata 还不够完整,不足以使其可靠,尤其是因为许多科学论文没有与其作者正确链接。

【讨论】:

  • 非常感谢!这肯定满足了我的需求。我不知道 Action API 也适用于 Wikidata。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-09
  • 1970-01-01
相关资源
最近更新 更多