From: <jen...@us...> - 2011-08-15 14:22:17
|
Revision: 3045 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3045&view=rev Author: jenslehmann Date: 2011-08-15 14:22:11 +0000 (Mon, 15 Aug 2011) Log Message: ----------- first succesful CELOE run in enrichment interface (but very slow negative exampled detection) Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlQuery.java trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java trunk/components-core/src/main/java/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.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 2011-08-15 13:22:15 UTC (rev 3044) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/celoe/CELOE.java 2011-08-15 14:22:11 UTC (rev 3045) @@ -31,6 +31,7 @@ import java.util.TreeSet; import org.apache.log4j.Logger; +import org.dllearner.core.ComponentAnn; import org.dllearner.core.ComponentInitException; import org.dllearner.core.EvaluatedDescription; import org.dllearner.core.AbstractCELA; @@ -76,6 +77,7 @@ * @author Jens Lehmann * */ +@ComponentAnn(name="CELOE") public class CELOE extends AbstractCELA { private static Logger logger = Logger.getLogger(CELOE.class); Modified: trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlQuery.java 2011-08-15 13:22:15 UTC (rev 3044) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlQuery.java 2011-08-15 14:22:11 UTC (rev 3045) @@ -113,7 +113,7 @@ try { logger.debug("sending query: length: " + sparqlQueryString.length() + " | ENDPOINT: " + sparqlEndpoint.getURL().toString()); - + // we execute the query and store the result in a rewindable result set ResultSet tmp = queryExecution.execSelect(); rs = ResultSetFactory.makeRewindable(tmp); 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-15 13:22:15 UTC (rev 3044) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2011-08-15 14:22:11 UTC (rev 3045) @@ -9,7 +9,6 @@ import java.util.SortedSet; import java.util.TreeSet; -import org.dllearner.algorithms.properties.ObjectPropertyDomainAxiomLearner; import org.dllearner.core.IndividualReasoner; import org.dllearner.core.SchemaReasoner; import org.dllearner.core.owl.ClassHierarchy; @@ -39,7 +38,7 @@ public class SPARQLReasoner implements SchemaReasoner, IndividualReasoner{ - private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyDomainAxiomLearner.class); + private static final Logger logger = LoggerFactory.getLogger(SPARQLReasoner.class); private SparqlEndpointKS ks; Modified: trunk/components-core/src/main/java/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java 2011-08-15 13:22:15 UTC (rev 3044) +++ trunk/components-core/src/main/java/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java 2011-08-15 14:22:11 UTC (rev 3045) @@ -24,7 +24,6 @@ import java.util.TreeSet; import org.apache.log4j.Logger; -import org.dllearner.core.ComponentManager; import org.dllearner.kb.sparql.SPARQLTasks; import org.dllearner.utilities.datastructures.SetManipulation; import org.dllearner.utilities.owl.OWLVocabulary; @@ -32,7 +31,7 @@ public class AutomaticNegativeExampleFinderSPARQL { // LOGGER: ComponentManager - private static Logger logger = Logger.getLogger(ComponentManager.class); + private static Logger logger = Logger.getLogger(AutomaticNegativeExampleFinderSPARQL.class); private SPARQLTasks sparqltasks; Modified: trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java =================================================================== --- trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java 2011-08-15 13:22:15 UTC (rev 3044) +++ trunk/interfaces/src/main/java/org/dllearner/cli/Enrichment.java 2011-08-15 14:22:11 UTC (rev 3045) @@ -24,6 +24,7 @@ import java.io.IOException; import java.io.StringWriter; import java.lang.reflect.InvocationTargetException; +import java.net.MalformedURLException; import java.net.SocketTimeoutException; import java.net.URI; import java.net.URISyntaxException; @@ -172,7 +173,7 @@ } @SuppressWarnings("unchecked") - public void start() throws ComponentInitException, IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException, LearningProblemUnsupportedException { + public void start() throws ComponentInitException, IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException, LearningProblemUnsupportedException, MalformedURLException { // sanity check that endpoint/graph returns at least one triple String query = "SELECT * WHERE {?s ?p ?o} LIMIT 1"; @@ -219,17 +220,21 @@ } } - private List<EvaluatedAxiom> applyCELOE(SparqlEndpointKS ks, boolean equivalence) throws ComponentInitException, LearningProblemUnsupportedException { + private List<EvaluatedAxiom> applyCELOE(SparqlEndpointKS ks, boolean equivalence) throws ComponentInitException, LearningProblemUnsupportedException, MalformedURLException { SPARQLTasks st = new SPARQLTasks(se); // get instances of class as positive examples SPARQLReasoner sr = new SPARQLReasoner(ks); - SortedSet<Individual> posExamples = sr.getIndividuals((NamedClass)resource, 1000); + SortedSet<Individual> posExamples = sr.getIndividuals((NamedClass)resource, 50); SortedSet<String> posExStr = Helper.getStringSet(posExamples); - System.out.println(posExStr.size()); // get negative examples via various strategies AutomaticNegativeExampleFinderSPARQL finder = new AutomaticNegativeExampleFinderSPARQL(posExStr, st, null); + finder.makeNegativeExamplesFromNearbyClasses(posExStr, 50); + finder.makeNegativeExamplesFromParallelClasses(posExStr, 50); + finder.makeNegativeExamplesFromRelatedInstances(posExStr, "http://dbpedia.org/resource/"); + finder.makeNegativeExamplesFromSuperClasses(resource.getName(), 50); +// finder.makeNegativeExamplesFromRandomInstances(); SortedSet<String> negExStr = finder.getNegativeExamples(50, false); SortedSet<Individual> negExamples = Helper.getIndividualSet(negExStr); SortedSetTuple<Individual> examples = new SortedSetTuple<Individual>(posExamples, negExamples); @@ -239,15 +244,14 @@ SparqlKnowledgeSource ks2 = cm.knowledgeSource(SparqlKnowledgeSource.class); ks2.getConfigurator().setInstances(Datastructures.individualSetToStringSet(examples.getCompleteSet())); ks2.getConfigurator().setUrl(ks.getEndpoint().getURL()); + ks2.getConfigurator().setDefaultGraphURIs(new TreeSet<String>(ks.getEndpoint().getDefaultGraphURIs())); ks2.getConfigurator().setUseLits(false); ks2.getConfigurator().setUseCacheDatabase(true); ks2.getConfigurator().setRecursionDepth(1); ks2.getConfigurator().setCloseAfterRecursion(true); // ks2.getConfigurator().setSaveExtractedFragment(true); + ks2.init(); - - ks.init(); - AbstractReasonerComponent rc = cm.reasoner(FastInstanceChecker.class, ks2); rc.init(); @@ -255,6 +259,7 @@ ClassLearningProblem lp = cm.learningProblem(ClassLearningProblem.class, rc); // lp.setPositiveExamples(posExamples); // lp.setNegativeExamples(negExamples); + lp.getConfigurator().setClassToDescribe(resource.getURI().toURL()); lp.getConfigurator().setType("equivalence"); lp.getConfigurator().setAccuracyMethod("fmeasure"); lp.getConfigurator().setUseApproximations(false); @@ -425,9 +430,10 @@ SimpleLayout layout = new SimpleLayout(); ConsoleAppender consoleAppender = new ConsoleAppender(layout); + Logger.getRootLogger().setLevel(Level.WARN); + Logger.getLogger("org.dllearner").setLevel(Level.WARN); // seems to be needed for some reason (?) Logger.getRootLogger().removeAllAppenders(); Logger.getRootLogger().addAppender(consoleAppender); - Logger.getRootLogger().setLevel(Level.WARN); OptionParser parser = new OptionParser(); parser.acceptsAll(asList("h", "?", "help"), "Show help."); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |