From: <jen...@us...> - 2011-11-12 08:14:14
|
Revision: 3397 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3397&view=rev Author: jenslehmann Date: 2011-11-12 08:14:05 +0000 (Sat, 12 Nov 2011) Log Message: ----------- several changes to get QTL algorithm working from conf file Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/core/AbstractLearningProblem.java trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java trunk/components-ext/src/main/java/org/dllearner/algorithm/qtl/QTL.java trunk/interfaces/pom.xml Added Paths: ----------- trunk/examples/qtl/ trunk/examples/qtl/dbpedia_simple.conf Modified: trunk/components-core/src/main/java/org/dllearner/core/AbstractLearningProblem.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AbstractLearningProblem.java 2011-11-11 15:05:29 UTC (rev 3396) +++ trunk/components-core/src/main/java/org/dllearner/core/AbstractLearningProblem.java 2011-11-12 08:14:05 UTC (rev 3397) @@ -119,7 +119,7 @@ return reasoner; } - @Autowired + @Autowired(required=false) public void setReasoner(AbstractReasonerComponent reasoner) { this.reasoner = reasoner; } Modified: trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2011-11-11 15:05:29 UTC (rev 3396) +++ trunk/components-core/src/main/java/org/dllearner/core/AnnComponentManager.java 2011-11-12 08:14:05 UTC (rev 3397) @@ -70,6 +70,7 @@ "org.dllearner.algorithms.properties.SubDataPropertyOfAxiomLearner", "org.dllearner.algorithms.DisjointClassesLearner", "org.dllearner.algorithms.SimpleSubclassLearner", + "org.dllearner.algorithm.qtl.QTL", "org.dllearner.kb.KBFile", "org.dllearner.kb.OWLFile", "org.dllearner.kb.SparqlEndpointKS", Modified: trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java 2011-11-11 15:05:29 UTC (rev 3396) +++ trunk/components-core/src/main/java/org/dllearner/learningproblems/PosOnlyLP.java 2011-11-12 08:14:05 UTC (rev 3397) @@ -109,10 +109,14 @@ // reasoning options (i.e. options are the same up to reversed example sets) // definitionLP.init(); - individuals = new LinkedList<Individual>(getReasoner().getIndividuals()); + Random rand = new Random(1); + + if(getReasoner()!=null) { + individuals = new LinkedList<Individual>(getReasoner().getIndividuals()); + Collections.shuffle(individuals, rand); + } + positiveExamplesShuffled = new LinkedList<Individual>(positiveExamples); - Random rand = new Random(1); - Collections.shuffle(individuals, rand); Collections.shuffle(positiveExamplesShuffled, rand); } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/qtl/QTL.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/qtl/QTL.java 2011-11-11 15:05:29 UTC (rev 3396) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/qtl/QTL.java 2011-11-12 08:14:05 UTC (rev 3397) @@ -46,6 +46,7 @@ import org.dllearner.algorithm.qtl.util.SPARQLEndpointEx; import org.dllearner.core.AbstractComponent; import org.dllearner.core.AbstractLearningProblem; +import org.dllearner.core.ComponentAnn; import org.dllearner.core.ComponentManager; import org.dllearner.core.LearningProblemUnsupportedException; import org.dllearner.core.SparqlQueryLearningAlgorithm; @@ -60,6 +61,7 @@ import org.dllearner.learningproblems.PosNegLP; import org.dllearner.learningproblems.PosOnlyLP; import org.dllearner.utilities.Helper; +import org.springframework.beans.factory.annotation.Autowired; import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSetRewindable; @@ -76,11 +78,12 @@ * * */ +@ComponentAnn(name="query tree learner", shortName="qtl", version=0.8) public class QTL extends AbstractComponent implements SparqlQueryLearningAlgorithm { private static final Logger logger = Logger.getLogger(QTL.class); - private AbstractLearningProblem lp; + private AbstractLearningProblem learningProblem; private SparqlEndpointKS endpointKS; // private QTLConfigurator configurator; @@ -115,11 +118,15 @@ return options; } + public QTL() { + + } + public QTL(AbstractLearningProblem learningProblem, SparqlEndpointKS endpointKS) throws LearningProblemUnsupportedException{ if(!(learningProblem instanceof PosOnlyLP || learningProblem instanceof PosNegLP)){ throw new LearningProblemUnsupportedException(learningProblem.getClass(), getClass()); } - this.lp = learningProblem; + this.learningProblem = learningProblem; this.endpointKS = endpointKS; // this.configurator = new QTLConfigurator(this); @@ -307,11 +314,11 @@ } public void init() { - if(lp instanceof PosOnlyLP){ - this.posExamples = convert(((PosOnlyLP)lp).getPositiveExamples()); - } else if(lp instanceof PosNegLP){ - this.posExamples = convert(((PosNegLP)lp).getPositiveExamples()); - this.negExamples = convert(((PosNegLP)lp).getNegativeExamples()); + if(learningProblem instanceof PosOnlyLP){ + this.posExamples = convert(((PosOnlyLP)learningProblem).getPositiveExamples()); + } else if(learningProblem instanceof PosNegLP){ + this.posExamples = convert(((PosNegLP)learningProblem).getPositiveExamples()); + this.negExamples = convert(((PosNegLP)learningProblem).getNegativeExamples()); } endpoint = endpointKS.getEndpoint(); @@ -354,5 +361,23 @@ System.out.println(query); } + public AbstractLearningProblem getLearningProblem() { + return learningProblem; + } + + @Autowired + public void setLearningProblem(AbstractLearningProblem learningProblem) { + this.learningProblem = learningProblem; + } + + public SparqlEndpointKS getEndpointKS() { + return endpointKS; + } + + @Autowired + public void setEndpointKS(SparqlEndpointKS endpointKS) { + this.endpointKS = endpointKS; + } + } Added: trunk/examples/qtl/dbpedia_simple.conf =================================================================== --- trunk/examples/qtl/dbpedia_simple.conf (rev 0) +++ trunk/examples/qtl/dbpedia_simple.conf 2011-11-12 08:14:05 UTC (rev 3397) @@ -0,0 +1,12 @@ + +prefixes = [ ("dbr","http://dbpedia.org/resource/") ] + +ks.type = "SPARQL" +ks.url = "http://live.dbpedia.org/sparql" +ks.defaultGraphURIs = { "http://dbpedia.org" } + +// learning problem +lp.type = "posonlylp" +lp.positiveExamples = { "Bob_Dylan", "The_Beatles", "dbr:Aerosmith" } + +alg.type = "qtl" Modified: trunk/interfaces/pom.xml =================================================================== --- trunk/interfaces/pom.xml 2011-11-11 15:05:29 UTC (rev 3396) +++ trunk/interfaces/pom.xml 2011-11-12 08:14:05 UTC (rev 3397) @@ -202,6 +202,10 @@ <groupId>org.dllearner</groupId> <artifactId>components-core</artifactId> </dependency> + <dependency> + <groupId>org.dllearner</groupId> + <artifactId>components-ext</artifactId> + </dependency> <!-- Added the dependency of the core tests so that they will be accessible from the tests in this component --> <dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |