有没有办法使用SPARQL和Wikidata分别获取有关男性和女性的维基百科传记的ID?

问题描述 投票:0回答:1

我需要获取有关男性或女性的法语维基百科页面的 MediaWiki ID。例如,关于“Antoine Meillet”的页面(https://fr.wikipedia.org/wiki/Antoine_Meillet)的ID是3,关于Arlette Laguiller的页面的ID是139。我需要结构化数据像这样(但我当然可以重构):

[["Antoine Meillet",3,"male"], ["Arlette Laguillet", 139, "female"]]

您能否向我展示一种通过向 Wikidata 发出 SPARQL 请求来实现此目的的方法?

sparql wikidata wikidata-query-service
1个回答
0
投票

我认为仅使用 WQS 无法实现此目的,因为据我所知,维基百科页面 ID 不存储在维基数据上。不过,您实际上可以通过以下方式解决问题:

  1. 检索所有具有 P31=Q5(即人类实例)和 fr.wiki 站点链接的 Wikidata 项目。
  2. 检索 Wikidata 项目 ID 和 fr.wiki 文章 ID 之间的一对一映射。
  3. 连接两个查询。

对于第 1 步,您可以在 WQS 上运行简单的 SPARQL 查询:

SELECT ?x WHERE { ?x wdt:P31 wd:Q5 . ?xLink schema:about ?x ; schema:isPartOf <https://fr.wikipedia.org/> . }
根据系统的可用资源,可能会返回超时错误。就我而言,它能够执行查询,返回 691,251 个结果。

对于第 2 步

,您可以在 Quarry (quarry.wmcloud.org) 上运行一个简单的 SQL 查询: USE frwiki_p; SELECT page_id, pp_value as item_id FROM page JOIN page_props ON page_id=pp_page WHERE pp_propname='wikibase_item';

在这里

您可以找到查询执行(当前返回 3,147,443 个结果)。您可以下载上次查询运行的结果:

作为 CSV:
    https://quarry.wmflabs.org/query/70667/result/latest/0/csv
  • JSON:
  • https://quarry.wmflabs.org/query/70667/result/latest/0/json
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.