【问题标题】:Get alias values from Wikidata for a given property?从维基数据中获取给定属性的别名值?
【发布时间】:2021-01-14 23:03:50
【问题描述】:

对于像'occupation (P106)' 这样的给定属性,我想检索它的所有别名,例如:职业、工作、工作、职业、就业、工艺。所有这些都出现在属性 wikidata 页面的“也称为”下。如何使用 SPARQL 检索它? 我尝试使用以下查询。

  SELECT ?predicate ?object WHERE {
  wdt:P106 wdt:P1449 ?predicate .  //Nickname
  wdt:P106 wdt:P734 ?predicate .   //Family Name
  wdt:P106 wdt:P735 ?predicate .  //Given Name
  wdt:P106 skos:altLabel ?predicate . 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

【问题讨论】:

标签: sparql wikidata


【解决方案1】:
SELECT ?altLabel
{
 VALUES (?wd) {(wd:P106)}
 ?wd skos:altLabel ?altLabel .
 FILTER (lang(?altLabel) = "en")
}

SELECT ?altLabel
{
 VALUES (?wdt) {(wdt:P106)}
 ?wd wikibase:directClaim ?wdt .
 ?wd skos:altLabel ?altLabel .
 FILTER (lang(?altLabel) = "en")
}

这些段落提供了一些解释:


更新

您仍然可以使用标签服务:

SELECT ?wdAltLabel
{
 VALUES (?wdt) {(wdt:P106)}
 ?wd wikibase:directClaim ?wdt .
 SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-16
    • 2011-08-29
    • 1970-01-01
    • 2012-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多