|
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.
|