SPARQL查询添加国籍与性别字段后失效,请求修复
修复SPARQL查询:添加获胜者国籍与性别字段
你的查询出错原因是错误地将国籍(wdt:P27)和性别(wdt:P21)属性绑定到了赛事实体(?event)上,但这两个属性是用来描述获胜者(?winner)的,并非赛事本身的属性,导致查询无法匹配到有效数据。
以下是修复后的完整查询:
SELECT ?year ?winnerLabel ?sexLabel ?nationalityLabel WHERE { ?event wdt:P361/wdt:P31 wd:Q41520; wdt:P585 ?year ; wdt:P1346 ?winner . # 关联获胜者的性别与国籍属性 ?winner wdt:P21 ?sex ; wdt:P27 ?nationality . SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } } ORDER BY DESC(?year)
关键调整说明:
- 将
wdt:P27 ?nationality; wdt:P21 ?sex从?event的属性链中拆分出来,改为绑定到?winner,确保属性指向正确的实体 - 选择结果中使用
?sexLabel和?nationalityLabel替代原始的?sex和?nationality,这样能直接显示可读性更强的标签文本(比如"男性"、"美国",而非对应的QID)
内容的提问来源于stack exchange,提问作者wily.x.x
相关产品推荐
相关产品推荐

