Этот запрос не работает ни с dbpedia, ни с библейтологией, потому что информация хранится в двух разных базах данных, и когда вы запускаете запрос SPARQL, вы в основном нажимаете одну или другую. Это означает, что вам нужно загрузить данные из обеих баз данных, чтобы поместить их в локальное тройное хранилище, чтобы можно было выполнить запрос SPARQL, подобный показанному вами. Другой вариант - использовать библиотеку, которая сделает это за вас.
Клиентская библиотека семантической паутины будет следовать всем URI, имеющимся в вашем запросе SPARQL, и загружать данные RDF из каждого ресурса, чтобы она могла объединить все тройные шаблоны, которые появляются в вашем запросе, и дать ответы.
Вы можете выполнить запрос с некоторыми незначительными изменениями:
PREFIX bibleontology: <http://bibleontology.com/resource/>
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
SELECT * WHERE {
bibleontology:Ezra owl:sameAs ?art .
?art dbpedia:abstract ?abstract .
FILTER langMatches( lang(?abstract), "EN" )
}
Объяснение изменений:
- Включено
owl
и dbpedia
пространства имен
?art dbpedia:abstract ?abstract .
вам нужно соответствовать предикату dbpedia:abstract
, чтобы получить реферат вместо bibleontology:abstract
, чтобы получить реферат от dbpedia
- Я также включил
filter
только для получения тезисов на английском языке, это, конечно, необязательно.
Как только вы загрузите «Библиотеку семантической паутины» и поместите свой запрос в файл (например, query.sparql), вы можете выполнить следующую команду для проверки вашего запроса:
./semwebquery -sparqlfile query.sparql -retrieveduris -maxsteps 5
Все параметры команд описаны в документации по клиентской библиотеке Semantic Web.
Вы получите следующий вывод:
| ?art | ?abstract
| <http://dbpedia.org/resource/Ezra> | "Ezra is a major .... "@en |
Successfully dereferenced URIs:
http://www.w3.org/2002/07/owl
http://bibleontology.com/data/Ezra
http://dbpedia.org/data/Ezra.xml
http://dbpedia.org/data3/abstract.n3
Я упустил длинный реферат из dbpedia для простоты. Список «Успешно разыменованных URI» - это документы, полученные библиотекой для ответа на ваш запрос. В документации библиотеки вы увидите, как программно выполнять запросы на Java.