From: <lor...@us...> - 2011-08-31 13:52:40
|
Revision: 3188 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3188&view=rev Author: lorenz_b Date: 2011-08-31 13:52:34 +0000 (Wed, 31 Aug 2011) Log Message: ----------- Some small changes. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtendedQueryEngineHTTP.java trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java Modified: trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2011-08-31 12:51:40 UTC (rev 3187) +++ trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2011-08-31 13:52:34 UTC (rev 3188) @@ -30,13 +30,16 @@ import org.dllearner.core.config.IntegerEditor; import org.dllearner.core.configurators.Configurator; import org.dllearner.core.owl.Axiom; -import org.dllearner.core.owl.ClassHierarchy; import org.dllearner.kb.SparqlEndpointKS; import org.dllearner.kb.sparql.ExtendedQueryEngineHTTP; import org.dllearner.learningproblems.AxiomScore; import org.dllearner.learningproblems.Heuristics; import org.dllearner.reasoning.SPARQLReasoner; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import com.hp.hpl.jena.query.Query; +import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP; @@ -46,6 +49,8 @@ */ public class AbstractAxiomLearningAlgorithm extends AbstractComponent implements AxiomLearningAlgorithm{ + private static final Logger logger = LoggerFactory.getLogger(AbstractAxiomLearningAlgorithm.class); + @ConfigOption(name="maxExecutionTimeInSeconds", defaultValue="10", description="", propertyEditorClass=IntegerEditor.class) protected int maxExecutionTimeInSeconds = 10; @@ -118,20 +123,20 @@ } protected ResultSet executeSelectQuery(String query) { + logger.info("Sending query\n{} ...", query); ExtendedQueryEngineHTTP queryExecution = new ExtendedQueryEngineHTTP(ks.getEndpoint().getURL().toString(), query); queryExecution.setTimeout(maxExecutionTimeInSeconds * 1000); - for (String dgu : ks.getEndpoint().getDefaultGraphURIs()) { - queryExecution.addDefaultGraph(dgu); - } - for (String ngu : ks.getEndpoint().getNamedGraphURIs()) { - queryExecution.addNamedGraph(ngu); - } + queryExecution.setDefaultGraphURIs(ks.getEndpoint().getDefaultGraphURIs()); + queryExecution.setNamedGraphURIs(ks.getEndpoint().getNamedGraphURIs()); + ResultSet resultSet = queryExecution.execSelect(); + return resultSet; } protected boolean executeAskQuery(String query){ + logger.info("Sending query\n{} ...", query); QueryEngineHTTP queryExecution = new QueryEngineHTTP(ks.getEndpoint().getURL().toString(), query); for (String dgu : ks.getEndpoint().getDefaultGraphURIs()) { queryExecution.addDefaultGraph(dgu); Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtendedQueryEngineHTTP.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtendedQueryEngineHTTP.java 2011-08-31 12:51:40 UTC (rev 3187) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/ExtendedQueryEngineHTTP.java 2011-08-31 13:52:34 UTC (rev 3188) @@ -244,7 +244,7 @@ // TODO Allow other content types. httpQuery.setAccept(HttpParams.contentTypeResultsXML); - InputStream in = doTimedExec(httpQuery); + InputStream in = httpQuery.exec(); ResultSet rs = ResultSetFactory.fromXML(in); Modified: trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2011-08-31 12:51:40 UTC (rev 3187) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2011-08-31 13:52:34 UTC (rev 3188) @@ -19,6 +19,7 @@ package org.dllearner.reasoning; +import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -29,6 +30,11 @@ import java.util.TreeMap; import java.util.TreeSet; +import org.aksw.commons.sparql.api.cache.core.QueryExecutionFactoryCache; +import org.aksw.commons.sparql.api.cache.extra.Cache; +import org.aksw.commons.sparql.api.cache.extra.CacheCoreH2; +import org.aksw.commons.sparql.api.cache.extra.CacheImpl; +import org.aksw.commons.sparql.api.cache.extra.CacheResource; import org.aksw.commons.sparql.api.core.QueryExecutionFactory; import org.aksw.commons.sparql.api.http.QueryExecutionFactoryHttp; import org.aksw.commons.sparql.api.pagination.core.QueryExecutionFactoryPaginated; @@ -49,6 +55,7 @@ import org.dllearner.core.owl.ObjectPropertyHierarchy; import org.dllearner.core.owl.Thing; import org.dllearner.kb.SparqlEndpointKS; +import org.dllearner.kb.sparql.ExtractionDBCache; import org.dllearner.kb.sparql.SPARQLTasks; import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.utilities.datastructures.SortedSetTuple; @@ -58,6 +65,7 @@ import org.slf4j.LoggerFactory; import com.clarkparsia.owlapiv3.XSD; +import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.rdf.model.Model; @@ -120,7 +128,7 @@ return new ClassHierarchy(subsumptionHierarchyUp, subsumptionHierarchyDown); } - public void loadSchema(){ + public Model loadSchema(){ Model model = ModelFactory.createDefaultModel(); //load class hierarchy @@ -161,16 +169,22 @@ model.add(loadIncrementally(query)); } -// for(Statement st : model.listStatements().toList()){ -// System.out.println(st); -// } + return model; } private Model loadIncrementally(String query){ - QueryExecutionFactory f = new QueryExecutionFactoryHttp(ks.getEndpoint().getURL().toString(), ks.getEndpoint().getDefaultGraphURIs()); - f = new QueryExecutionFactoryPaginated(f, 1000); - Model model = f.createQueryExecution(query).execConstruct(); - return model; + try { + QueryExecutionFactory f = new QueryExecutionFactoryHttp(ks.getEndpoint().getURL().toString(), ks.getEndpoint().getDefaultGraphURIs()); + f = new QueryExecutionFactoryCache(f, new CacheImpl(CacheCoreH2.create("cache", 60 * 24 *5))); + f = new QueryExecutionFactoryPaginated(f, 1000); + Model model = f.createQueryExecution(query).execConstruct(); + return model; + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; } @Override @@ -773,11 +787,13 @@ public static void main(String[] args) { - String NS = "http://dbpedia.org/ontology/"; SparqlEndpointKS ks = new SparqlEndpointKS(SparqlEndpoint.getEndpointDBpediaLiveAKSW()); SPARQLReasoner r = new SPARQLReasoner(ks); long startTime = System.currentTimeMillis(); - r.loadSchema(); + Model schema = r.loadSchema(); + for(Statement st : schema.listStatements().toList()){ + System.out.println(st); + } System.out.println("Time needed: " + (System.currentTimeMillis()-startTime) + "ms"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |