维基数据查询查询属性标签

时间:2017-07-26 19:26:21

标签: sparql wikidata wikidata-api

如何构建查询以查找给定实体上属性的英文标签。

此查询提供P31的ID:

SELECT ?item ?itemLabel ?instance_of WHERE {
  ?item wdt:P646 "/m/09c7w0".
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  OPTIONAL {
    ?item wdt:P31 ?instance_of.}
  }
}
LIMIT 1

如何获得P31的标签?

此外,是否有一种智能方法可以获得P31的“最佳”值,可能是具有最低数字ID的值?一些详细的实体具有非常嘈杂的值。例如,对于Q30,“美国”,我更愿意将“国家/地区”视为我的instance_of而非“联合国会员国”。

1 个答案:

答案 0 :(得分:0)

谢谢AKSW。标签服务适用于给定带有匹配后缀Label的变量的属性:

SELECT ?item ?itemLabel ?instance_of ?instance_ofLabel WHERE {
  ?item wdt:P646 "/m/09c7w0".
  OPTIONAL {
    ?item wdt:P31 ?instance_of.
  }
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
LIMIT 1