代码之家  ›  专栏  ›  技术社区  ›  darth

从Wikidata获取给定属性的别名值?

  •  2
  • darth  · 技术社区  · 7 年前

    对于给定的属性,如 'occupation (P106)' 我尝试使用以下查询。

      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". }
    }
    
    1 回复  |  直到 4 年前
        1
  •  5
  •   Stanislav Kralin kenwenzel    7 年前
    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". }
    }