首页 > 解决方案 > 如何使用 SPARQL 查询从 wikidata 条目中获取“描述”?

问题描述

如何提取给定项目标签的描述?例如,对于 Barack Obama (Q76)链接,有一个列出的描述:“美国第 44 任总统”。我该如何找回这个?我可以使用以下方法提取“标签”:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX wd: <http://www.wikidata.org/entity/> 
#Cats
SELECT ?label
WHERE 
{
  wd:Q76 rdfs:label ?label .
  FILTER (langMatches( lang(?label), "EN" ) )
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

(虽然这给了我 3 次相同的结果......)我如何获得描述?

标签: sparqlwikidata

解决方案


在 Wikidata 标签服务的手动模式下,您在服务调用中显式绑定标签变量。

例如,使用 Barack Obama (Q76) 条目,我们可以绑定标签和描述。

PREFIX bd: <http://www.bigdata.com/rdf#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX schema: <http://schema.org/> 
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wikibase: <http://wikiba.se/ontology#> 

SELECT ?obamaLabel ?obamaDesc
WHERE {
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
    wd:Q76 rdfs:label ?obamaLabel .
    wd:Q76 schema:description ?obamaDesc .
  }
}

演示


推荐阅读