From: <jen...@us...> - 2012-03-13 10:19:20
|
Revision: 3609 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3609&view=rev Author: jenslehmann Date: 2012-03-13 10:19:10 +0000 (Tue, 13 Mar 2012) Log Message: ----------- started new SPARQL component Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java trunk/components-core/src/main/java/org/dllearner/reasoning/OWLAPIReasoner.java trunk/scripts/src/main/java/org/dllearner/scripts/OxtractorHelper.java Added Paths: ----------- trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java trunk/test/sparql/new_component/ trunk/test/sparql/new_component/AristotlePos.conf Modified: trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2012-03-12 04:28:22 UTC (rev 3608) +++ trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2012-03-13 10:19:10 UTC (rev 3609) @@ -79,6 +79,7 @@ "org.dllearner.kb.OWLFile", "org.dllearner.kb.SparqlEndpointKS", "org.dllearner.kb.sparql.SparqlKnowledgeSource", + "org.dllearner.kb.sparql.SparqlSimpleExtractor", "org.dllearner.learningproblems.PosNegLPStandard", "org.dllearner.learningproblems.FuzzyPosNegLPStandard", "org.dllearner.learningproblems.PosOnlyLP", Added: trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java (rev 0) +++ trunk/components-core/src/main/java/org/dllearner/kb/sparql/SparqlSimpleExtractor.java 2012-03-13 10:19:10 UTC (rev 3609) @@ -0,0 +1,42 @@ +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; + +@ComponentAnn(name="efficient SPARQL fragment extractor", shortName="sparqls", version=0.1) +public class SparqlSimpleExtractor implements KnowledgeSource { + + @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; + } + +} Modified: trunk/components-core/src/main/java/org/dllearner/reasoning/OWLAPIReasoner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/reasoning/OWLAPIReasoner.java 2012-03-12 04:28:22 UTC (rev 3608) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/OWLAPIReasoner.java 2012-03-13 10:19:10 UTC (rev 3609) @@ -26,12 +26,14 @@ import org.dllearner.core.ComponentInitException; import org.dllearner.core.AbstractKnowledgeSource; import org.dllearner.core.AbstractReasonerComponent; +import org.dllearner.core.KnowledgeSource; import org.dllearner.core.config.ConfigOption; import org.dllearner.core.owl.*; import org.dllearner.kb.OWLAPIOntology; import org.dllearner.kb.OWLFile; import org.dllearner.kb.OWLOntologyKnowledgeSource; import org.dllearner.kb.sparql.SparqlKnowledgeSource; +import org.dllearner.kb.sparql.SparqlSimpleExtractor; import org.dllearner.utilities.owl.*; import org.semanticweb.HermiT.Reasoner.ReasonerFactory; import org.semanticweb.owlapi.apibinding.OWLManager; @@ -150,14 +152,14 @@ Set<OWLImportsDeclaration> directImports = new HashSet<OWLImportsDeclaration>(); - for (AbstractKnowledgeSource source : sources) { + for (KnowledgeSource source : sources) { if (source instanceof OWLOntologyKnowledgeSource) { ontology = ((OWLOntologyKnowledgeSource) source).createOWLOntology(manager); owlAPIOntologies.add(ontology); } - if (source instanceof OWLFile || source instanceof SparqlKnowledgeSource || source instanceof OWLAPIOntology) { + if (source instanceof OWLFile || source instanceof SparqlKnowledgeSource || source instanceof SparqlSimpleExtractor || source instanceof OWLAPIOntology) { if (source instanceof OWLAPIOntology) { ontology = ((OWLAPIOntology) source).getOWLOntolgy(); @@ -167,6 +169,8 @@ ontology = ((SparqlKnowledgeSource) source).getOWLAPIOntology(); manager = ontology.getOWLOntologyManager(); owlAPIOntologies.add(ontology); + } else if(source instanceof SparqlSimpleExtractor) { + // TODO } directImports.addAll(ontology.getImportsDeclarations()); @@ -204,7 +208,7 @@ } else { //KB Files - KB kb = source.toKB(); + KB kb = ((AbstractKnowledgeSource)source).toKB(); if (!(source instanceof OWLOntologyKnowledgeSource)) { //Not sure if this will ever get hit, but leaving in for backward compatibility. Modified: trunk/scripts/src/main/java/org/dllearner/scripts/OxtractorHelper.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/OxtractorHelper.java 2012-03-12 04:28:22 UTC (rev 3608) +++ trunk/scripts/src/main/java/org/dllearner/scripts/OxtractorHelper.java 2012-03-13 10:19:10 UTC (rev 3609) @@ -57,8 +57,8 @@ */ public static void main(String[] args) { OxtractorHelper oh = new OxtractorHelper("http://live.dbpedia.org/sparql","http://dbpedia.org"); - System.out.println(oh.getInstances("http://dbpedia.org/resource/Category:Cities_in_Saxony")); - System.out.println(oh.getCategories("room")); +// System.out.println(oh.getInstances("http://dbpedia.org/resource/Category:Cities_in_Saxony")); + System.out.println(oh.getCategories("Kitchen")); } } Added: trunk/test/sparql/new_component/AristotlePos.conf =================================================================== --- trunk/test/sparql/new_component/AristotlePos.conf (rev 0) +++ trunk/test/sparql/new_component/AristotlePos.conf 2012-03-13 10:19:10 UTC (rev 3609) @@ -0,0 +1,49 @@ +/** + * Some people from Greece. + * Note: DBpedia is always subject to change, solutions will change over time + + * Possible Solution: + * Theorist OR (Mathematician AND Physicist) + * + * This is the same as AristotlePosNeg.conf, but positives only + */ + +// SPARQL options +sparql.type = "sparqls" +sparql.endpointURL = "http://live.dbpedia.org/sparql" + +/* +sparql.defaultGraphURIs = {"http://dbpedia.org"} +sparql.recursionDepth = 1 +//TODOREFACTOR check if predefinedFilter works at all +//predefined filter (1 = YAGO based learning) +sparql.predefinedFilter = "YAGO" +sparql.instances = { +"http://dbpedia.org/resource/Democritus", +"http://dbpedia.org/resource/Zeno_of_Elea", +"http://dbpedia.org/resource/Plato", +"http://dbpedia.org/resource/Socrates", +"http://dbpedia.org/resource/Archytas", +"http://dbpedia.org/resource/Pythagoras", +"http://dbpedia.org/resource/Philolaus" +} +*/ + +reasoner.type = "fast instance checker" +reasoner.sources = {sparql} + +// we want to learn from positive examples only +lp.type = "positive only learning problem" +lp.positiveExamples = { +"http://dbpedia.org/resource/Archytas", +"http://dbpedia.org/resource/Pythagoras", +"http://dbpedia.org/resource/Philolaus" +} + +lp.reasoner = reasoner + +// we use the OCEL algorithm +alg.type = "ocel" +alg.reasoner = reasoner +alg.learningProblem = lp + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |