如何在D2RQ的d2r查询上获得响应时间?

问题描述 投票:0回答:1

我正在使用D2RQ的d2r查询来进行一些SPARQL查询,我正在使用命令行。拜托,我如何获得回复时间?

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

还有其他工具可用来获取响应时间吗?

sparql rdf jena d2rq
1个回答
0
投票

嗨,我找到了解决方案,我将与您分享。因此,您应该编辑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("============================================");

祝你好运

© www.soinside.com 2019 - 2024. All rights reserved.