У меня есть еще несколько проблем с обработкой технологий семантических данных: у меня есть GraphDB Triplestor, работающий локально на моем компьютере, и я пытаюсь запланировать некоторые запросы SPARQL к нему с помощью RDF4J и Java. Как видно из приведенного ниже кода, должно быть запущено 10 запросов подряд. Однако запускаются только 5 (я вижу в консоли цифры 0–4). Проблема, похоже, в том, что я по какой-то причине ограничен 5 открытыми HTTP-соединениями. Любой вызов repConn.close (), похоже, ничего не меняет. Любые идеи?
import org.eclipse.rdf4j.query.QueryLanguage;
import org.eclipse.rdf4j.query.TupleQuery;
import org.eclipse.rdf4j.query.TupleQueryResult;
import org.eclipse.rdf4j.repository.RepositoryConnection;
import org.eclipse.rdf4j.repository.http.HTTPRepository;
public class testmain {
public HTTPRepository rep;
public RepositoryConnection repConn;
public static void main(String[] args) {
testmain test = new testmain();
test.rep = new HTTPRepository("http://localhost:7200/repositories/test01");
//test.repConn = test.rep.getConnection();
for (int i = 0; i < 10; i++) {
test.repConn = test.rep.getConnection();
String queryString = "select ?archiveID where { ?video <http://www.some.ns/ontology##hasArchiveID> ?archiveID .}";
try {
TupleQuery tupleQuery = test.repConn.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
TupleQueryResult queryResult = tupleQuery.evaluate();
} finally {
test.repConn.close();
}
System.out.println(i);
}
}
}