关闭Jena QueryEngineHTTP而不关闭ResultSet

时间:2015-12-11 10:36:52

标签: java resultset jena

我正在使用Apache Jena 2.12.0来查询SPARQL端点。我想在使用后关闭我的QueryEngineHTTP对象,但是下面的代码将导致一个不可用的ResultSet,因为它与QueryEngineHTTP一起关闭。是否有办法关闭一个,而不是另一个?

public ResultSet select(String query)
{
    try(QueryEngineHTTP qe = new QueryEngineHTTP(ENDPOINT, query))
 {
        return qe.execSelect();
 } catch(Exception e) {throw new RuntimeException("Error on query:\n"+query,e);}
}

1 个答案:

答案 0 :(得分:2)

如果要从传入流中分离结果,则需要创建一个不受传入数据驱动的结果集 - 即获取副本。

ResultSetFactory.copyResults会为您做到这一点。此结果集可以重新缓存。