如何获得 D2RQ 的 d2r 查询的响应时间?
How to get response time on d2r-query of D2RQ?
我正在使用 D2RQ 的 d2r-query 进行一些 SPARQL 查询,我正在使用命令行。请问,我怎样才能得到回复时间?
d2r-query myMappedData.ttl "SELECT * {?s ?p ?o} LIMIT 1000"
是否有其他工具可用于获取响应时间?
您好,我找到了解决方案,我会与您分享。所以你应该编辑 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("============================================");
祝你好运
我正在使用 D2RQ 的 d2r-query 进行一些 SPARQL 查询,我正在使用命令行。请问,我怎样才能得到回复时间?
d2r-query myMappedData.ttl "SELECT * {?s ?p ?o} LIMIT 1000"
是否有其他工具可用于获取响应时间?
您好,我找到了解决方案,我会与您分享。所以你应该编辑 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("============================================");
祝你好运