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

如何通过维基百科URL构建Wikidata SPARQL查询获取单个人物数据?我的查询无结果

修复Wikidata SPARQL查询:通过维基百科URL获取人物数据

原查询的问题

  • 类型匹配错误:?article是URI类型,但你在filter里把它和带引号的字符串做比较,Wikidata无法识别这种匹配逻辑,所以查不到结果。
  • 查询效率低下:原写法会让系统遍历大量条目,自然耗时久。

正确的查询写法

下面是两种高效且能返回结果的写法:

写法一:用VALUES绑定目标URL(推荐,便于批量扩展)

SELECT ?item ?itemLabel ?itemDescription ?image ?article WHERE {
  # 直接指定目标维基百科URL,精准定位
  VALUES ?article { <https://en.wikipedia.org/wiki/Ronaldo_(footballer,_born_1977)> }
  
  ?article schema:about ?item ;
           schema:inLanguage "en" ;
           schema:isPartOf <https://en.wikipedia.org/> .
  
  # 限定条目为人物
  ?item wdt:P31 wd:Q5 ;
        # 用OPTIONAL包裹头像字段,避免无头像时丢失整个结果
        OPTIONAL { ?item wdt:P18 ?image } .
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} LIMIT 1

写法二:直接将URL写入三元组(更简洁)

SELECT ?item ?itemLabel ?itemDescription ?image ?article WHERE {
  <https://en.wikipedia.org/wiki/Ronaldo_(footballer,_born_1977)> 
      schema:about ?item ;
      schema:inLanguage "en" ;
      schema:isPartOf <https://en.wikipedia.org/> .
  
  ?item wdt:P31 wd:Q5 ;
        OPTIONAL { ?item wdt:P18 ?image } .
  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
} LIMIT 1

优化说明

  • 直接绑定目标URL,避免系统遍历海量数据,大幅提升查询速度。
  • 用OPTIONAL处理头像字段,防止因目标人物无头像导致查询无结果。
  • 用分号合并同一主体的三元组,让查询结构更简洁易读。

内容的提问来源于stack exchange,提问作者Gabtni Mohamed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:40:12