You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SPARQL查询Wikidata获取法维基男女人物的MediaWiki ID

获取法语维基百科人物MediaWiki ID的Wikidata SPARQL查询方案

核心逻辑

通过Wikidata关联人物条目、其法语维基百科页面及性别属性,提取所需的页面标题、MediaWiki ID和性别标识。

SPARQL查询代码

SELECT ?frTitle ?pageID ?genderLabel
WHERE {
  # 筛选Wikidata中的人物条目
  ?item wdt:P31 wd:Q5 .
  # 限定性别为男性或女性
  ?item wdt:P21 ?gender .
  VALUES ?gender { wd:Q6581097 wd:Q6581072 }
  # 关联对应的法语维基百科页面,提取标题和MediaWiki ID
  ?article schema:about ?item ;
           schema:isPartOf <https://fr.wikipedia.org/> ;
           schema:name ?frTitle ;
           wikibase:wikiPageID ?pageID .
  # 获取多语言标签,性别标签取英文(对应male/female)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en" }
}
# 可选:限制返回结果数量,避免数据量过大
LIMIT 100

代码说明

  • ?item wdt:P31 wd:Q5:确保条目属于“人物”类别(Wikidata Q5)
  • VALUES ?gender { wd:Q6581097 wd:Q6581072 }:限定性别为男性(Q6581097)或女性(Q6581072)
  • ?article 相关语句:绑定法语维基的页面资源,提取页面标题(?frTitle)和MediaWiki ID(?pageID)
  • SERVICE wikibase:label:自动获取条目标签,性别标签会返回英文的male/female,符合需求格式

输出格式调整

在Wikidata Query Service中执行查询后,可选择JSON格式导出结果。导出的JSON数据可通过简单脚本转换为你需要的二维数组格式,示例转换逻辑(伪代码):

const result = /* 导出的JSON数据 */;
const output = result.results.bindings.map(item => [
  item.frTitle.value,
  parseInt(item.pageID.value),
  item.genderLabel.value
]);

内容的提问来源于stack exchange,提问作者Léo Joubert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:30:17