#sparql #wikidata
#sparql #викиданные
Вопрос:
Как я могу извлечь описание для данной метки элемента? Например, для ссылки на Барака Обаму (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 раза …) Как мне также получить описание?
Комментарии:
1. Почему вы не используете службу ярлыков, когда она есть в вашем запросе? И это дает вам тот же результат, потому что есть 3 литерала с разным английским вкусом
2. Я не совсем уверен, что такое служба ярлыков. Я только знакомлюсь с этим методом запроса.
3. «Служба ярлыков» — это нестандартное расширение SPARQL, которое предоставляет вам ярлык, описание и псевдоним бесплатно по соглашению с суффиксом к имени каждой переменной: mediawiki.org/wiki/Wikidata_Query_Service / …
4. Очистите, вам нужна переменная, чтобы использовать ее. Поехали:
SELECT ?itemLabel ?itemDescription WHERE { VALUES ?item {wd:Q76} SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". } }
5. Если вы не хотите использовать эту службу, используйте
schema:description
в качестве свойства, аналогичного тому, что вы сделали сrdfs:label
Ответ №1:
В ручном режиме службы меток Викиданных вы явно привязываете переменные метки в вызове службы.
Например, с записью 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 .
}
}