Java 在关闭查询后获取Jena Resultset-用于模块化
我有以下情况: 类B有一个方法,该方法接收带有查询的字符串并执行它 并返回结果集 类A创建SPARQL查询并调用类B中的方法 问题是,当类A返回Resultset对象时,它是空的!当然,因为查询在类B中是关闭的,请参见 我的问题是,如何将其模块化?我希望有一个只执行SPARQL查询的类B,而不必知道结果结构或任何东西。我希望类B处理查询创建和查询关闭,因为类A这样做毫无意义 默认情况下,ResultSet几乎总是流式处理,因此您可以说,关闭QueryExecution将导致ResultSet的行为就像它是空的一样 您可以使用该方法获取ResultSet的可重用内存中副本,并将其传回Java 在关闭查询后获取Jena Resultset-用于模块化,java,database,resultset,jena,Java,Database,Resultset,Jena,我有以下情况: 类B有一个方法,该方法接收带有查询的字符串并执行它 并返回结果集 类A创建SPARQL查询并调用类B中的方法 问题是,当类A返回Resultset对象时,它是空的!当然,因为查询在类B中是关闭的,请参见 我的问题是,如何将其模块化?我希望有一个只执行SPARQL查询的类B,而不必知道结果结构或任何东西。我希望类B处理查询创建和查询关闭,因为类A这样做毫无意义 默认情况下,ResultSet几乎总是流式处理,因此您可以说,关闭QueryExecution将导致ResultSet的行
ResultSet results = ResultSetFactory.copyResults(qe.execSelect());
这允许类B安全地关闭QueryExecution,并向调用代码提供一个非空的ResultSet,当然前提是查询首先生成任何答案 默认情况下,ResultSet几乎总是流式处理,因此您可以说,关闭QueryExecution将导致ResultSet看起来像是空的
您可以使用该方法获取ResultSet的可重用内存中副本,并将其传回
ResultSet results = ResultSetFactory.copyResults(qe.execSelect());
这允许类B安全地关闭QueryExecution,并向调用代码提供一个非空的ResultSet,当然前提是查询首先生成任何答案