Как получить метку собственности из Викиданных? - PullRequest
0 голосов
/ 14 января 2020

Я могу использовать rdfs:label, чтобы получить текстовое значение объекта, например:

SELECT DISTINCT * WHERE {
  wd:Q19675 rdfs:label ?label . 
  FILTER (langMatches( lang(?label), "ES" ) )  
}

даст мне значение Museo del Louvre, так как это метка объекта Q19675.

Но что, если я хочу получить метку собственности? (Не работает) пример:

SELECT * WHERE {
  wdt:P131 rdfs:label ?label . 
}

Что я должен сделать, чтобы получить текстовое значение (метку) свойства P131? Метка этого свойства должна быть located in the administrative territorial entity.

1 Ответ

0 голосов
/ 14 января 2020

Я сам нашел решение:

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

Нам нужно SERVICE wikibase:label... только для того, чтобы указать язык метки нашего свойства.

...