在不关闭 ResultSet 的情况下关闭 Jena QueryEngineHTTP
Closing Jena QueryEngineHTTP without closing the ResultSet
我正在使用 Apache Jena 2.12.0 查询 SPARQL 端点。我想在使用后关闭我的 QueryEngineHTTP 对象,但以下代码将导致无法使用的结果集,因为它与 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);}
}
如果您想从传入流中分离结果,您需要创建一个不受传入数据驱动的结果集 - 即复制一份。
ResultSetFactory.copyResults
会为您做到这一点。此结果集是可倒带的。
我正在使用 Apache Jena 2.12.0 查询 SPARQL 端点。我想在使用后关闭我的 QueryEngineHTTP 对象,但以下代码将导致无法使用的结果集,因为它与 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);}
}
如果您想从传入流中分离结果,您需要创建一个不受传入数据驱动的结果集 - 即复制一份。
ResultSetFactory.copyResults
会为您做到这一点。此结果集是可倒带的。