From: <dc...@us...> - 2012-10-30 12:54:06
|
Revision: 3860 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3860&view=rev Author: dcherix Date: 2012-10-30 12:53:54 +0000 (Tue, 30 Oct 2012) Log Message: ----------- new conf Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java trunk/components-core/src/main/java/org/dllearner/core/ComponentManager.java trunk/components-core/src/main/java/org/dllearner/kb/sparql/Cache.java trunk/scripts/pom.xml trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/NewSparqlCompDBpediaClassLearnerCELOE.java trunk/scripts/src/main/resources/log4j.properties trunk/test/newcomponent/AristotlePosNeg.conf Removed Paths: ------------- trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java 2012-10-30 12:53:54 UTC (rev 3860) @@ -21,6 +21,7 @@ import java.io.File; import java.text.DecimalFormat; +import java.util.Collection; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -218,11 +219,11 @@ // configurator = new CELOEConfigurator(this); } -// public static Collection<Class<? extends AbstractLearningProblem>> supportedLearningProblems() { -// Collection<Class<? extends AbstractLearningProblem>> problems = new LinkedList<Class<? extends AbstractLearningProblem>>(); -// problems.add(AbstractLearningProblem.class); -// return problems; -// } + public static Collection<Class<? extends AbstractLearningProblem>> supportedLearningProblems() { + Collection<Class<? extends AbstractLearningProblem>> problems = new LinkedList<Class<? extends AbstractLearningProblem>>(); + problems.add(AbstractLearningProblem.class); + return problems; + } public static String getName() { return "CELOE"; Modified: trunk/components-core/src/main/java/org/dllearner/core/ComponentManager.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/ComponentManager.java 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/components-core/src/main/java/org/dllearner/core/ComponentManager.java 2012-10-30 12:53:54 UTC (rev 3860) @@ -99,6 +99,7 @@ "org.dllearner.kb.OWLFile", "org.dllearner.kb.KBFile", "org.dllearner.kb.sparql.SparqlKnowledgeSource", + "org.dllearner.kb.sparql.simple.SparqlSimpleExtractor", "org.dllearner.kb.OWLAPIOntology", // "org.dllearner.kb.SparqlEndpointKS", //reasoners Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/Cache.java 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/Cache.java 2012-10-30 12:53:54 UTC (rev 3860) @@ -225,6 +225,8 @@ return (String) entry.get(2); } + + /** * Adds an entry to the cache. @@ -328,7 +330,7 @@ totaltime.stop(); return result; } - + public boolean executeSparqlAskQuery(SparqlQuery query) { String str = getCacheEntry(query.getSparqlQueryString()); JamonMonitorLogger.increaseCount(Cache.class, "TotalQueries"); Deleted: trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java 2012-10-30 12:53:54 UTC (rev 3860) @@ -1,50 +0,0 @@ -package org.dllearner.kb.sparql; - -import java.net.URL; - -import org.dllearner.core.ComponentAnn; -import org.dllearner.core.ComponentInitException; -import org.dllearner.core.KnowledgeSource; -import org.dllearner.core.config.ConfigOption; -import org.dllearner.kb.OWLOntologyKnowledgeSource; -import org.semanticweb.owlapi.model.OWLOntology; -import org.semanticweb.owlapi.model.OWLOntologyManager; - -@ComponentAnn(name="efficient SPARQL fragment extractor", shortName="sparqls", version=0.1) -public class SparqlSimpleExtractor implements KnowledgeSource, OWLOntologyKnowledgeSource { - - @ConfigOption(name="endpointURL", description="URL of the SPARQL endpoint", required=true) - private URL endpointURL = null; - - public SparqlSimpleExtractor() { - - } - - @Override - public void init() throws ComponentInitException { - // TODO Auto-generated method stub - - } - - /** - * @param args - */ - public static void main(String[] args) { - // TODO Auto-generated method stub - - } - - public URL getEndpointURL() { - return endpointURL; - } - - public void setEndpointURL(URL endpointURL) { - this.endpointURL = endpointURL; - } - - @Override - public OWLOntology createOWLOntology(OWLOntologyManager manager) { - //TODO Update this to return an ontology representation of what the reasoners should work with. Build with the passed in manager instance. - return null; - } -} Modified: trunk/scripts/pom.xml =================================================================== --- trunk/scripts/pom.xml 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/scripts/pom.xml 2012-10-30 12:53:54 UTC (rev 3860) @@ -66,6 +66,28 @@ <dependency> <groupId>org.aksw.commons</groupId> <artifactId>sparql</artifactId> + <exclusions> + <exclusion> + <artifactId>slf4j-api</artifactId> + <groupId>org.slf4j</groupId> + </exclusion> + <exclusion> + <artifactId>arq</artifactId> + <groupId>com.hp.hpl.jena</groupId> + </exclusion> + <exclusion> + <artifactId>xercesImpl</artifactId> + <groupId>xerces</groupId> + </exclusion> + <exclusion> + <artifactId>any23-core</artifactId> + <groupId>org.deri.any23</groupId> + </exclusion> + <exclusion> + <artifactId>jena-core</artifactId> + <groupId>org.apache.jena</groupId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>mysql</groupId> @@ -102,7 +124,7 @@ <executable>java</executable> <arguments> <argument>-Xms512m</argument> - <argument>-Xmx4000m</argument> + <argument>-Xmx3000m</argument> </arguments> </configuration> </plugin> Modified: trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/DBpediaClassLearnerCELOE.java 2012-10-30 12:53:54 UTC (rev 3860) @@ -24,6 +24,10 @@ import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; @@ -47,8 +51,10 @@ import org.dllearner.core.owl.Thing; import org.dllearner.gui.Config; import org.dllearner.gui.ConfigSave; +import org.dllearner.kb.sparql.Cache; import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.kb.sparql.SparqlKnowledgeSource; +import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.learningproblems.PosNegLPStandard; import org.dllearner.reasoning.FastInstanceChecker; import org.dllearner.refinementoperators.RhoDRDown; @@ -66,6 +72,7 @@ import com.hp.hpl.jena.query.QueryFactory; import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; +import com.hp.hpl.jena.query.ResultSetRewindable; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.jamonapi.Monitor; import com.jamonapi.MonitorFactory; @@ -89,6 +96,7 @@ .getLogger(DBpediaClassLearnerCELOE.class); SparqlEndpoint sparqlEndpoint = null; + private Cache cache; public DBpediaClassLearnerCELOE() { // OPTIONAL: if you want to do some case distinctions in the learnClass @@ -100,6 +108,7 @@ // TODO Auto-generated catch block e.printStackTrace(); } + cache = new Cache("basCache"); } public static void main(String args[]) @@ -110,20 +119,21 @@ Monitor mon = MonitorFactory.start("Learn DBpedia"); KB kb = dcl.learnAllClasses(classesToLearn); mon.stop(); - kb.export(new File("/home/dcherix/dllearner/old/result.owl"), + kb.export(new File("/home/dcherix/dllearner/old/result"+i+".owl"), OntologyFormat.RDF_XML); // Set<String> pos = // dcl.getPosEx("http://dbpedia.org/ontology/Person"); // dcl.getNegEx("http://dbpedia.org/ontology/Person", pos); - logger.info("Test " + i + ":\n" + logger.info("Test" + i + ":\n" + JamonMonitorLogger.getStringForAllSortedByLabel()); + System.gc(); } } public KB learnAllClasses(Set<String> classesToLearn) { KB kb = new KB(); for (String classToLearn : classesToLearn) { - logger.info("Leraning class: " + classToLearn); + logger.info("Leanring class: " + classToLearn); try { Description d = learnClass(classToLearn); if (d == null @@ -141,6 +151,7 @@ } catch (Exception e) { logger.warn("", e); } + this.dropCache(); } return kb; @@ -175,6 +186,7 @@ ks.setUrl(new URL(endpointurl)); ks.setUseLits(false); ks.setUseCacheDatabase(true); + ks.setUseCache(true); ks.setRecursionDepth(1); ks.setCloseAfterRecursion(true); ks.setSaveExtractedFragment(true); @@ -252,12 +264,18 @@ // } // public Set<String> getPosEx(String clazz) throws Exception { - SparqlTemplate st = SparqlTemplate.getInstance("instancesOfClass.vm"); - st.setLimit(0); - VelocityContext vc = st.getVelocityContext(); - vc.put("class", clazz); - String queryString = st.getQuery(); - return this.executeResourceQuery(queryString); +// SparqlTemplate st = SparqlTemplate.getInstance("instancesOfClass.vm"); +// st.setLimit(0); +// VelocityContext vc = st.getVelocityContext(); +// vc.put("class", clazz); +// String queryString = st.getQuery(); + StringBuilder queryString = new StringBuilder(); + queryString.append("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"); + queryString.append(" SELECT ?instances WHERE { ?instances rdf:type <"); + queryString.append(clazz); + queryString.append("> }"); + System.out.println(queryString); + return this.executeResourceQuery(queryString.toString()); } /** @@ -337,7 +355,7 @@ logger.info("using class for negatives: " + targetClass); if (targetClass != null) { SparqlTemplate st = SparqlTemplate - .getInstance("instancesOfClass.vm"); + .getInstance("instancesOfClass2.vm"); st.setLimit(0); VelocityContext vc = st.getVelocityContext(); vc.put("class", targetClass); @@ -386,10 +404,11 @@ } public Set<String> executeResourceQuery(String queryString) { - Query query = QueryFactory.create(queryString); - QueryExecution qexec = QueryExecutionFactory.sparqlService(endpointurl, - query); - ResultSet resultSet = qexec.execSelect(); +// Query query = QueryFactory.create(queryString); +// QueryExecution qexec = QueryExecutionFactory.sparqlService(endpointurl, +// query); +// ResultSet resultSet = qexec.execSelect(); + ResultSetRewindable resultSet = SparqlQuery.convertJSONtoResultSet(cache.executeSparqlQuery(new SparqlQuery(queryString,sparqlEndpoint))); QuerySolution solution; Set<String> results = new HashSet<String>(); while (resultSet.hasNext()) { @@ -400,10 +419,11 @@ } public Set<String> executeClassQuery(String queryString) { - Query query = QueryFactory.create(queryString); - QueryExecution qexec = QueryExecutionFactory.sparqlService(endpointurl, - query); - ResultSet resultSet = qexec.execSelect(); +// Query query = QueryFactory.create(queryString); +// QueryExecution qexec = QueryExecutionFactory.sparqlService(endpointurl, +// query); +// ResultSet resultSet = qexec.execSelect(); + ResultSetRewindable resultSet = SparqlQuery.convertJSONtoResultSet(cache.executeSparqlQuery(new SparqlQuery(queryString,sparqlEndpoint))); QuerySolution solution; Set<String> results = new HashSet<String>(); while (resultSet.hasNext()) { @@ -413,4 +433,24 @@ return results; } + private void dropCache(){ + try { + Class.forName("org.h2.Driver"); + String databaseName="extraction"; + String databaseDirectory="cache"; + Connection conn = DriverManager.getConnection("jdbc:h2:"+databaseDirectory+"/"+databaseName, "sa", ""); + Statement st = conn.createStatement(); + st.execute("DELETE FROM QUERY_CACHE"); + st.close(); + conn.close(); + System.gc(); + } catch (ClassNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (SQLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } Modified: trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/NewSparqlCompDBpediaClassLearnerCELOE.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/NewSparqlCompDBpediaClassLearnerCELOE.java 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/scripts/src/main/java/org/dllearner/scripts/improveWikipedia/NewSparqlCompDBpediaClassLearnerCELOE.java 2012-10-30 12:53:54 UTC (rev 3860) @@ -107,7 +107,7 @@ public static void main(String args[]) throws LearningProblemUnsupportedException, IOException, Exception { - for (int i = 0; i < 10; i++) { + for (int i = 0; i < 4; i++) { NewSparqlCompDBpediaClassLearnerCELOE dcl = new NewSparqlCompDBpediaClassLearnerCELOE(); Set<String> classesToLearn = dcl.getClasses(); @@ -129,8 +129,7 @@ public KB learnAllClasses(Set<String> classesToLearn) { KB kb = new KB(); for (String classToLearn : classesToLearn) { - logger.info(classToLearn); - System.out.println(classToLearn); + logger.info("learning "+classToLearn); try { Description d = learnClass(classToLearn); if (d == null @@ -148,6 +147,7 @@ } catch (Exception e) { logger.warn("", e); } + System.gc(); } return kb; @@ -254,10 +254,7 @@ for (OntClass ontClass : classes) { results.add(ontClass.getURI()); i++; - if (i == 100) - break; } - System.out.println(results.size()); return results; } Modified: trunk/scripts/src/main/resources/log4j.properties =================================================================== --- trunk/scripts/src/main/resources/log4j.properties 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/scripts/src/main/resources/log4j.properties 2012-10-30 12:53:54 UTC (rev 3860) @@ -1,9 +1,15 @@ log4j.appender.A1=org.apache.log4j.RollingFileAppender -log4j.appender.A1.File=log/errors.log +log4j.appender.A1.File=log/oldComp4.log log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c- %m%n -log4j.appender.A2=org.apache.log4j.RollingFileAppender -log4j.appender.A2.File=log/queries.log -log4j.appender.A2.layout=org.apache.log4j.PatternLayout +#log4j.appender.A2=org.apache.log4j.RollingFileAppender +#log4j.appender.A2.File=log/queries.log +#log4j.appender.A2.layout=org.apache.log4j.PatternLayout -log4j.rootLogger=ERROR,A1 \ No newline at end of file +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n + +log4j.rootLogger=INFO,A1,stdout + Modified: trunk/test/newcomponent/AristotlePosNeg.conf =================================================================== --- trunk/test/newcomponent/AristotlePosNeg.conf 2012-10-30 12:41:05 UTC (rev 3859) +++ trunk/test/newcomponent/AristotlePosNeg.conf 2012-10-30 12:53:54 UTC (rev 3860) @@ -13,9 +13,12 @@ sparql.type = "sparqls" sparql.endpointURL = "http://live.dbpedia.org/sparql" sparql.defaultGraphURI = "http://dbpedia.org" -sparql.recursionDepth = 1 -sparql.ontologyFile= "http://downloads.dbpedia.org/3.6/dbpedia_3.6.owl" +sparql.recursionDepth = 2 +sparql.ontologySchemaUrls = {"http://downloads.dbpedia.org/3.6/dbpedia_3.6.owl" } +sparql.aboxfilter = "FILTER ( !isLiteral(?o) && regex(str(?o), '^http://dbpedia.org/resource/') && ! regex(str(?o), '^http://dbpedia.org/resource/Category') && ! regex(str(?o), '^http://dbpedia.org/resource/Template') ) . " +sparql.tboxfilter = "FILTER ( regex(str(?class), '^http://dbpedia.org/ontology/') ) . " + sparql.instances = { "http://dbpedia.org/resource/Democritus", "http://dbpedia.org/resource/Zeno_of_Elea", This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |