DBpedia SPARQL 엔드 포인트에 대한 일련의 쿼리를 루프 내부에서 수행합니다. 코드는 더 많거나 적은 같은 같습니다DBpedia를 쿼리 할 때 503의 메시지를 반복합니다.
for (String citySplit : citiesSplit) {
RepositoryConnection conn = dbpediaEndpoint.getConnection();
String sparqlQueryLat = " SELECT ?lat ?lon WHERE { "
+ "<http://dbpedia.org/resource/" + citySplit.trim().replaceAll(" ", "_") + "> <http://www.w3.org/2003/01/geo/wgs84_pos#lat> ?lat . "
+ "<http://dbpedia.org/resource/" + citySplit.trim().replaceAll(" ", "_") + "> <http://www.w3.org/2003/01/geo/wgs84_pos#long> ?lon ."
+ "}";
TupleQuery queryLat = conn.prepareTupleQuery(QueryLanguage.SPARQL, sparqlQueryLat);
TupleQueryResult resultLat = queryLat.evaluate();
}
문제는 몇 반복 후, 나는 503 메시지를 얻을 수 있다는 것입니다
: 만약 내가 제대로 이해하고
httpclient.wire.header - << "HTTP/1.1 503 Service Temporarily Unavailable[\r][\n]"
(...)
org.openrdf.query.QueryInterruptedException
at org.openrdf.http.client.HTTPClient.getTupleQueryResult(HTTPClient.java:1041)
at org.openrdf.http.client.HTTPClient.sendTupleQuery(HTTPClient.java:438)
at org.openrdf.http.client.HTTPClient.sendTupleQuery(HTTPClient.java:413)
at org.openrdf.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery.java:41)
이 503 메시지가 DBpedia에서입니다 . 내가 맞습니까? 성공을 관리하는 연속 쿼리 수는 가변적입니다. 때로는 메시지를 받기 전에 13 초 동안 실행되기도합니다. 때로는 15 분이 걸리는 경우도 있습니다. 어쨌든 나는 정상적인 것 같지 않습니다. 무슨 일이 일어날 수 있습니까?