From: <lor...@us...> - 2011-01-18 12:25:36
|
Revision: 2619 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2619&view=rev Author: lorenz_b Date: 2011-01-18 12:25:29 +0000 (Tue, 18 Jan 2011) Log Message: ----------- Added 2 methods to cache which have a max execution time for SPARQL queries. Modified Paths: -------------- trunk/components-core/pom.xml trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtractionDBCache.java Modified: trunk/components-core/pom.xml =================================================================== --- trunk/components-core/pom.xml 2011-01-18 10:22:55 UTC (rev 2618) +++ trunk/components-core/pom.xml 2011-01-18 12:25:29 UTC (rev 2619) @@ -164,6 +164,11 @@ <groupId>com.h2database</groupId> <artifactId>h2</artifactId> </dependency> + + <dependency> + <groupId>org.aksw.commons</groupId> + <artifactId>commons</artifactId> + </dependency> </dependencies> </project> Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtractionDBCache.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtractionDBCache.java 2011-01-18 10:22:55 UTC (rev 2618) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtractionDBCache.java 2011-01-18 12:25:29 UTC (rev 2619) @@ -32,13 +32,13 @@ import java.sql.SQLException; import java.sql.Statement; +import org.aksw.commons.jena.ExtendedQueryEngineHTTP; import org.dllearner.utilities.Helper; import com.hp.hpl.jena.query.ResultSetFactory; import com.hp.hpl.jena.query.ResultSetRewindable; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; -import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP; import com.jamonapi.Monitor; import com.jamonapi.MonitorFactory; @@ -99,6 +99,10 @@ } public Model executeConstructQuery(SparqlEndpoint endpoint, String query) throws SQLException, UnsupportedEncodingException { + return executeConstructQuery(endpoint, query, 0); + } + + public Model executeConstructQuery(SparqlEndpoint endpoint, String query, int maxExecutionTimeInSeconds) throws SQLException, UnsupportedEncodingException { mon.start(); byte[] md5 = md5(query); // Timestamp currTS = new Timestamp(new java.util.Date().getTime()); @@ -128,7 +132,8 @@ // System.out.println("Posing new query"); // String endpoint = "http://139.18.2.37:8890/sparql"; - QueryEngineHTTP queryExecution = new QueryEngineHTTP(endpoint.getURL().toString(), query); + ExtendedQueryEngineHTTP queryExecution = new ExtendedQueryEngineHTTP(endpoint.getURL().toString(), query); + queryExecution.setTimeOut(maxExecutionTimeInSeconds * 1000); for (String dgu : endpoint.getDefaultGraphURIs()) { queryExecution.addDefaultGraph(dgu); } @@ -164,6 +169,10 @@ } public String executeSelectQuery(SparqlEndpoint endpoint, String query) { + return executeSelectQuery(endpoint, query, 0); + } + + public String executeSelectQuery(SparqlEndpoint endpoint, String query, int maxExecutionTimeInSeconds) { try { @@ -182,7 +191,8 @@ return clob.getSubString(1, (int) clob.length()); } else { // System.out.println("no-cache"); - QueryEngineHTTP queryExecution = new QueryEngineHTTP(endpoint.getURL().toString(), query); + ExtendedQueryEngineHTTP queryExecution = new ExtendedQueryEngineHTTP(endpoint.getURL().toString(), query); + queryExecution.setTimeOut(maxExecutionTimeInSeconds * 1000); for (String dgu : endpoint.getDefaultGraphURIs()) { queryExecution.addDefaultGraph(dgu); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |