У меня проблемы с выполнением запросов SPARQL к dbpedia.org с использованием Jena.
Запросы имеют вид:
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX p: <http://dbpedia.org/property/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?album ?name ?dateofrelease
WHERE {
?album p:artist <http://dbpedia.org/resource/SomeArtist> .
?album rdf:type <http://dbpedia.org/ontology/Album> .
?album rdf:type <http://schema.org/MusicAlbum> .
?album p:name ?name .
?album <http://dbpedia.org/ontology/releaseDate> ?dateofrelease .
FILTER(xsd:dateTime(?dateofrelease) >= '2009-01-01T00:00:00Z'^^xsd:dateTime)
} LIMIT 5
, где http://www.dbpedia.org/resource/SomeArtist - допустимый художникURI, например http://dbpedia.org/resource/Wilco, и правильно закодированный URL перед отправкой.
Запросы выполняются с использованием следующего стандартного кода:
Query query = QueryFactory.create(queryString);
QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);
ResultSet results = queryExecution.execSelect();
Программа выполняет около 30 запросов в одной форме, но некоторые из них "зависают" в течение минуты или двух.перед тем, как Джена выдает
com.hp.hpl.jena.sparql.resultset.ResultSetException: Not an ResultSet result
Если я поймаю исключение и продолжу, некоторые запросы зависают, а некоторые быстро возвращают набор результатов с 0 или более результатами.Делая это несколько раз, вы случайно выбираете, какие запросы возвращаются или «зависают».Использование SPARQL DBpedia с идентичным запросом иногда работает, иногда так же зависает в веб-браузере.
Я неправильно строю запрос, что делает его в некотором роде трудоемким для dbpedia.org, чтобы тайм-аут запроса на сервере?Я довольно новичок в семантической паутине и в Jena, но сначала мне показалось, что мой запрос не может быть очень трудоемким, поскольку я использую абсолютный URI для части объекта в операторе
?album p:artist <http://www.dbpedia.org/resource/SomeArtist>
.
Есть ли какое-то количество запросов от dbpedia.org от одного источника / на единицу времени, о которых я не знаю?
(Использование Jena 2.6.4)