Я начинаю работать в SPARQL, и я работаю над этой конечной точкой http://spcdata.digitpa.gov.it:8899/sparql. Я хотел бы присоединиться к данным из графика DBpedia. Я использую свойство owl:sameAs
для ссылки на ресурсы DBpedia.Запрос Sparql от Dbpedia и другой график возвращает меньше результатов, чем ожидалось
Я хотел бы получить имя и значения популяции для всех городов, входящих в класс pa:Comune
, для которых определено значение dbp:populationTotal
. Вот мой вопрос:
PREFIX pa: <http://spcdata.digitpa.gov.it/>
PREFIX rdf: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbp: <http://dbpedia.org/ontology/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?label ?populationTotal WHERE {
?s a pa:Comune .
?s rdf:label ?label .
?s owl:sameAs ?sameAs .
?sameAs dbp:populationTotal ?populationTotal .
}
ORDER BY ?label
К сожалению, хотя результаты верны, я получаю только очень небольшое их подмножество. Я проверил и есть еще много муниципалитетов, которые имеют ссылку на DBpedia со значением для свойства dbp:populationTotal
. Я пробовал со всеми различными значениями губки, но результаты все те же. Я думаю, проблема может быть в том, что я получаю данные с другого графика, но я не знаю, что делать.
EDIT: я попробовал этот запрос после предложения Яна Дикинсона, и это работает!
PREFIX pa: <http://spcdata.digitpa.gov.it/>
PREFIX rdf: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbp: <http://dbpedia.org/ontology/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT DISTINCT ?label ?sameAs ?populationTotal WHERE {
?s a pa:Comune .
?s rdf:label ?label .
?s owl:sameAs ?sameAs .
FILTER (REGEX(STR(?sameAs), "dbpedia", "i")).
SERVICE <http://dbpedia.org/sparql>
{
?sameAs dbp:populationTotal ?populationTotal .
}
} LIMIT 1700
К сожалению, есть 8000 + muncipalities в Италии, так что мне пришлось ограничить результаты (отсюда LIMIT 1700, который является большим количеством хитов я могу получить, не имея тайм-аут.).
К этой же информации к этой базе подключена конечная точка: http://spcdata.digitpa.gov.it/dataIPA.html (извините, это только на итальянском языке). Я был убежден, что могу ссылаться на данные DbPedia, но, похоже, он загружается частично, как вы предложили. Я также пробовал ключевое слово SERVICE, но без успеха. Вы предлагаете использовать только DbPedia? Мне трудно найти класс для муниципалитетов. –
Федеративные запросы могут быть сложными. Есть ли что-то особенное в 28 муниципалитетах, которые загружаются в конечную точку 'spcdata.digitpa.gov.it'? (Вы правы - я не могу читать итальянца, я боюсь). Эта ссылка может помочь с использованием ключевого слова service с реализацией Virtuoso SPARQL: http://boards.openlinksw.com/phpBB3/viewtopic.php?f=12&t=1709 –
Я не мог сказать! Кажется, что эти 28 записей не имеют ничего особенного. Я попытался с вашим предложением, и это сработало достаточно хорошо, спасибо! проверьте мое редактирование. –