Выберите футболистов из двух или более стран с помощью запроса викиданных SPARQL

#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. Спасибо! Это идеальный ответ