我需要获取有关男性或女性的法语维基百科页面的 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 请求来实现此目的的方法?
我认为仅使用 WQS 无法实现此目的,因为据我所知,维基百科页面 ID 不存储在维基数据上。不过,您实际上可以通过以下方式解决问题:
对于第 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';