Как получить время отклика на d2r-запрос D2RQ? - PullRequest
0 голосов
/ 14 октября 2019

Я использую d2r-запрос D2RQ для создания SPARQL-запроса, я использую командную строку. Пожалуйста, как я могу получить время ответа?

d2r-query myMappedData.ttl "SELECT * {?s ?p ?o} LIMIT 1000"

Есть ли другие инструменты, которые можно использовать для получения времени ответа?

1 Ответ

0 голосов
/ 20 октября 2019

Привет, я нашел решение и хотел бы поделиться им с вами. Поэтому вы должны отредактировать файл d2_quey.java и получить дату до и после обработки кода запроса и рассчитать timeAfterTreatment - timeBeforeTreatment

Как показано ниже:

Object objStartTime=System.currentTimeMillis(); 
Long startTime=(objStartTime==null)?0:(Long)objStartTime;       

Перед этим кодом (Запрос на обработку)

QueryEngineD2RQ.register();
Query q = QueryFactory.create(query, loader.getResourceBaseURI());
QueryExecution qe = QueryExecutionFactory.create(q, d2rqModel);
if (timeout > 0) {
        qe.setTimeout(Math.round(timeout * 1000));
}
QueryExecUtils.executeQuery(q, qe, ResultsFormat.lookup(format));

И добавить этот код в конце

Object objEndTime=System.currentTimeMillis();
Long endTime=(objEndTime==null)?0:(Long)objEndTime;
Long totalTime = endTime - startTime;
// display response time
System.out.println("============================================");
System.out.println("Response time : "+totalTime+" ms ");
System.out.println("============================================");

Удачи

...