В настоящее время у меня есть набор из ~ 100 предметов Wikidata для художников [Q1234, Q2345, Q3456, ...], которые я должен использовать для извлечения различных свойств (место / дата рождения / смерти, ярлыки и т. Д.)Я попытался выполнить итерацию по списку и создать запрос для каждого, но в настоящее время я сталкиваюсь с небольшой блокировкой, поскольку многие возвращают ошибку 429 (слишком много запросов).
Failed to load resource: the server responded with a status of 429 ()
index.html:1 Access to XMLHttpRequest at 'https://query.wikidata.org/sparql?query='...' from origin 'http://127.0.0.1:51881' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Есть ли способ, которым я могу вставитьнабор элементов прямо в запросе?
var subquery = 'SELECT DISTINCT ?nameLabel ?cityBLabel ?countryBLabel ?cityDLabel ?countryDLabel ?dateBLabel ?dateDLabel \n' +
'WHERE\n' +
'{\n' +
' :' + item + ' rdfs:label ?name; \n' +
' wdt:P19 ?cityB; \n' +
' wdt:P20 ?cityD; \n' +
' wdt:P569 ?dateB; \n' +
' wdt:P570 ?dateD. \n' +
' ?cityB wdt:P17 ?countryB .\n' +
' ?cityD wdt:P17 ?countryD .\n' +
' SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } \n' +
' FILTER(LANGMATCHES(LANG(?name), "EN")) \n' +
'}\n';
Например, в приведенном выше запросе вместо создания и выполнения одного запроса для каждого item
существует ли команда SPARQL, в которую я могу включить весь набор([Q1234, Q2345, Q3456, ...]) и будет ли он повторять их все за один прогон?
Спасибо!