Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在关闭查询后获取Jena Resultset-用于模块化_Java_Database_Resultset_Jena - Fatal编程技术网

Java 在关闭查询后获取Jena 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的行

我有以下情况:

类B有一个方法,该方法接收带有查询的字符串并执行它 并返回结果集

类A创建SPARQL查询并调用类B中的方法

问题是,当类A返回Resultset对象时,它是空的!当然,因为查询在类B中是关闭的,请参见

我的问题是,如何将其模块化?我希望有一个只执行SPARQL查询的类B,而不必知道结果结构或任何东西。我希望类B处理查询创建和查询关闭,因为类A这样做毫无意义

默认情况下,ResultSet几乎总是流式处理,因此您可以说,关闭QueryExecution将导致ResultSet的行为就像它是空的一样

您可以使用该方法获取ResultSet的可重用内存中副本,并将其传回

ResultSet results = ResultSetFactory.copyResults(qe.execSelect());
这允许类B安全地关闭QueryExecution,并向调用代码提供一个非空的ResultSet,当然前提是查询首先生成任何答案

默认情况下,ResultSet几乎总是流式处理,因此您可以说,关闭QueryExecution将导致ResultSet看起来像是空的

您可以使用该方法获取ResultSet的可重用内存中副本,并将其传回

ResultSet results = ResultSetFactory.copyResults(qe.execSelect());
这允许类B安全地关闭QueryExecution,并向调用代码提供一个非空的ResultSet,当然前提是查询首先生成任何答案