java - 在 Virtuoso 服务上使用 Jena 的 SPARQL 查询执行时间

标签 java sparql jena execution-time virtuoso

因此,我使用 Virtuoso SPARQL 端点,并使用 Jena 来查询它。我使用 QueryFactoryQueryExecution 创建 SPARQL 查询:

    Query query = QueryFactory.create(sparqlQueryString1);
    QueryExecution qexec = QueryExecutionFactory.sparqlService("http://localhost:8890/sparql", query);
    ResultSet results = qexec.execSelect();

现在我想计算运行此查询所需的时间。如何在 Virtuoso 上使用 Jena 来度过这样的时光?那可能吗?显然,我确实查看了诸如 getTimeOut1()getTimeOut2() 之类的函数。他们似乎没有给我任何好的指导。作为一种黑客,我尝试使用Java的内置System.currentTimeMillis(),但是我不确定这是否是正确的方法。任何关于如何找到执行时间的指示将不胜感激!

最佳答案

结果以流的形式返回,因此时间需要从 qexec.execSelect() 之前到应用程序处理完结果之后,而不仅仅是调用 execSelect >.

Timer timer = new Timer() ;
timer.startTimer() ;
ResultSet results = qexec.execSelect();
ResultSetFormatter.consume(results) ;
long x = timer.finishTimer() ;   // Time in milliseconds.

关于java - 在 Virtuoso 服务上使用 Jena 的 SPARQL 查询执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059263/

相关文章:

java - AssertJ:递归地否定 isEqualToComparingFieldByField

java 使用 jsoup 和等效的 xpath 查找表

java - 字数组程序出现出站错误

multithreading - 是否可以同时写入相同的数据集文件但写入不同的命名图(每个线程写入不同的命名图)?

java - Java 中的构造函数链接

sparql - SPARQL 1.1 中任意属性路径的边界

rdf - 是否可以将这 2 个 SPARQL 更新查询合并为一个?

timestamp - 使用 SPARQL 以秒/毫秒为单位获取当前时间?

rdf - 从文件加载本体时如何覆盖默认前缀?

java - 在耶拿使用 ARQ (SPARQL) 进行 RDFS 推理