#sparql #wikidata
Вопрос:
Я пытаюсь узнать день рождения всех футболистов в википедии по стране. До сих пор мне удавалось получить все данные для одной страны, но я хотел бы получить данные по многим странам одновременно, что-то вроде:
SELECT ?person ?dateOfBirth
WHERE {
?person wdt:P1532 wd:Q16 OR ?person wdt:P1532 wd:Q141;
wdt:P569 ?dateOfBirth.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Q16-это Канада, а Q141-Аргентина
Спасибо!
Ответ №1:
Чтобы не ограничивать свой запрос одной страной, замените wd:Q16
его переменной, т. е. ?person wdt:P1531 ?country
.
Затем вам нужно ограничить свой запрос футболистами. Это можно сделать с помощью следующей строки
?person wdt:P106 wd:Q937857.
И, вероятно, вам нужны имена игроков, а не только их удостоверения личности. Таким образом, добавьте ?personLabel
после «выбрать».
В совокупности запрос гласит
SELECT ?person ?personLabel ?country ?countryLabel ?dateOfBirth
WHERE {
?person wdt:P106 wd:Q937857;
wdt:P1532 ?country;
wdt:P569 ?dateOfBirth.
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
Комментарии:
1. Спасибо! Это идеальный ответ