«Тайм-аут / зависание запроса» при выполнении запроса SPARQL к DBpedia из Йены - PullRequest
2 голосов
/ 24 ноября 2011

У меня проблемы с выполнением запросов 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)

1 Ответ

1 голос
/ 25 ноября 2011

Я могу подтвердить, что запрос медленный.

Я пробовал несколько вариантов, которые могут повлиять на скорость, но это не помогло.Я не вижу какой-либо очевидной причины, по которой этот тип запроса был бы особенно медленным, извините.

Одна альтернатива, чтобы получить более согласованное время отклика, это загрузить дамп DBPedia, вытащив предикаты, которые вы 'заинтересоваться и загрузить их в местный тройной магазин, например, Йена.

...