|
From: <lor...@us...> - 2011-08-19 08:51:29
|
Revision: 3070
http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3070&view=rev
Author: lorenz_b
Date: 2011-08-19 08:51:21 +0000 (Fri, 19 Aug 2011)
Log Message:
-----------
Added methods to get only axioms whose accuracy is above a specific threshold.
Modified Paths:
--------------
trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyDomainAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyRangeAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointDataPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentDataPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalDataPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/InverseFunctionalObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/IrreflexiveObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyRangeAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ReflexiveObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubObjectPropertyOfAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/algorithms/properties/TransitiveObjectPropertyAxiomLearner.java
trunk/components-core/src/main/java/org/dllearner/core/AxiomLearningAlgorithm.java
trunk/components-core/src/main/java/org/dllearner/core/EvaluatedAxiom.java
Added Paths:
-----------
trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -30,7 +30,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ClassExpressionLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
@@ -63,7 +63,7 @@
*
*/
@ComponentAnn(name = "disjoint classes learner", shortName = "cldisjoint", version = 0.1)
-public class DisjointClassesLearner implements ClassExpressionLearningAlgorithm, AxiomLearningAlgorithm {
+public class DisjointClassesLearner extends AbstractAxiomLearningAlgorithm implements ClassExpressionLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(DisjointClassesLearner.class);
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -28,7 +28,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ClassExpressionLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
@@ -62,7 +62,7 @@
*
*/
@ComponentAnn(name = "simple subclass learner", shortName = "clsub", version = 0.1)
-public class SimpleSubclassLearner implements ClassExpressionLearningAlgorithm, AxiomLearningAlgorithm {
+public class SimpleSubclassLearner extends AbstractAxiomLearningAlgorithm implements ClassExpressionLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(SimpleSubclassLearner.class);
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyDomainAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyDomainAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyDomainAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,15 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -19,7 +17,6 @@
import org.dllearner.core.config.DataPropertyEditor;
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.DatatypeProperty;
import org.dllearner.core.owl.DatatypePropertyDomainAxiom;
import org.dllearner.core.owl.Description;
@@ -37,7 +34,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="dataproperty domain axiom learner", shortName="dpldomain", version=0.1)
-public class DataPropertyDomainAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class DataPropertyDomainAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(DataPropertyDomainAxiomLearner.class);
@@ -107,25 +104,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyRangeAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyRangeAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DataPropertyRangeAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -10,8 +10,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -36,7 +35,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="dataproperty range learner", shortName="dblrange", version=0.1)
-public class DataPropertyRangeAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class DataPropertyRangeAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(DataPropertyRangeAxiomLearner.class);
@@ -106,25 +105,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointDataPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointDataPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointDataPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,7 +3,6 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -11,8 +10,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -20,10 +18,8 @@
import org.dllearner.core.config.DataPropertyEditor;
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.DatatypeProperty;
import org.dllearner.core.owl.DisjointDatatypePropertyAxiom;
-import org.dllearner.core.owl.SubDatatypePropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
import org.dllearner.kb.sparql.ExtendedQueryEngineHTTP;
import org.dllearner.kb.sparql.SparqlEndpoint;
@@ -36,7 +32,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="disjoint dataproperty axiom learner", shortName="dpldisjoint", version=0.1)
-public class DisjointDataPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class DisjointDataPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyDomainAxiomLearner.class);
@@ -133,25 +129,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/DisjointObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,7 +3,6 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -11,8 +10,7 @@
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -20,13 +18,11 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.DisjointObjectPropertyAxiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.kb.SparqlEndpointKS;
import org.dllearner.kb.sparql.ExtendedQueryEngineHTTP;
import org.dllearner.kb.sparql.SPARQLTasks;
-import org.dllearner.kb.sparql.SparqlEndpoint;
import org.dllearner.learningproblems.AxiomScore;
import org.dllearner.reasoning.SPARQLReasoner;
import org.slf4j.Logger;
@@ -36,7 +32,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="disjoint objectproperty axiom learner", shortName="opldisjoint", version=0.1)
-public class DisjointObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class DisjointObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyDomainAxiomLearner.class);
@@ -132,27 +128,13 @@
logger.info("...finished in {}ms.", (System.currentTimeMillis()-startTime));
}
-
- @Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- for(EvaluatedAxiom evAx : getCurrentlyBestEvaluatedAxioms(nrOfAxioms)){
- bestAxioms.add(evAx.getAxiom());
- }
-
- return bestAxioms;
- }
@Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
+
@Override
public Configurator getConfigurator() {
// TODO Auto-generated method stub
@@ -238,12 +220,6 @@
return resultSet;
}
- public static void main(String[] args) throws Exception{
- DisjointObjectPropertyAxiomLearner l = new DisjointObjectPropertyAxiomLearner(new SparqlEndpointKS(SparqlEndpoint.getEndpointDBpedia()));
- l.setPropertyToDescribe(new ObjectProperty("http://dbpedia.org/ontology/assembly"));
- l.init();
- l.start();
- System.out.println(l.getCurrentlyBestEvaluatedAxioms(5));
- }
-
+
+
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentDataPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentDataPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentDataPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,15 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -19,7 +17,6 @@
import org.dllearner.core.config.DataPropertyEditor;
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.DatatypeProperty;
import org.dllearner.core.owl.EquivalentDatatypePropertiesAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -33,7 +30,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="equivalent dataproperty axiom learner", shortName="dplequiv", version=0.1)
-public class EquivalentDataPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class EquivalentDataPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(EquivalentDataPropertyAxiomLearner.class);
@@ -129,25 +126,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/EquivalentObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,15 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -19,12 +17,10 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.EquivalentObjectPropertiesAxiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.kb.SparqlEndpointKS;
import org.dllearner.kb.sparql.ExtendedQueryEngineHTTP;
-import org.dllearner.kb.sparql.SparqlQuery;
import org.dllearner.learningproblems.AxiomScore;
import org.dllearner.reasoning.SPARQLReasoner;
import org.slf4j.Logger;
@@ -32,10 +28,9 @@
import com.hp.hpl.jena.query.QuerySolution;
import com.hp.hpl.jena.query.ResultSet;
-import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP;
@ComponentAnn(name="equivalent objectproperty axiom learner", shortName="oplequiv", version=0.1)
-public class EquivalentObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class EquivalentObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(EquivalentObjectPropertyAxiomLearner.class);
@@ -131,25 +126,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalDataPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalDataPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalDataPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.DataPropertyEditor;
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.DatatypeProperty;
import org.dllearner.core.owl.FunctionalDatatypePropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,7 +26,7 @@
import com.hp.hpl.jena.vocabulary.OWL;
@ComponentAnn(name="functional dataproperty axiom learner", shortName="dplfunc", version=0.1)
-public class FunctionalDataPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class FunctionalDataPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(FunctionalDataPropertyAxiomLearner.class);
@@ -117,12 +114,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/FunctionalObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AxiomLearningAlgorithm;
-import org.dllearner.core.AbstractComponent;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.FunctionalObjectPropertyAxiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,7 +26,7 @@
import com.hp.hpl.jena.vocabulary.OWL;
@ComponentAnn(name="functional objectproperty axiom learner", shortName="oplfunc", version=0.1)
-public class FunctionalObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class FunctionalObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(FunctionalObjectPropertyAxiomLearner.class);
@@ -117,12 +114,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/InverseFunctionalObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/InverseFunctionalObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/InverseFunctionalObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.InverseFunctionalObjectPropertyAxiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,7 +26,7 @@
import com.hp.hpl.jena.vocabulary.OWL;
@ComponentAnn(name="inversefunctional objectproperty axiom learner", shortName="oplinvfunc", version=0.1)
-public class InverseFunctionalObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class InverseFunctionalObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(InverseFunctionalObjectPropertyAxiomLearner.class);
@@ -117,12 +114,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/IrreflexiveObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/IrreflexiveObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/IrreflexiveObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.IrreflexiveObjectPropertyAxiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,7 +26,7 @@
import com.hp.hpl.jena.vocabulary.OWL2;
@ComponentAnn(name="irreflexive objectproperty axiom learner", shortName="oplirrefl", version=0.1)
-public class IrreflexiveObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class IrreflexiveObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(IrreflexiveObjectPropertyAxiomLearner.class);
@@ -120,12 +117,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,17 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -21,8 +17,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
-import org.dllearner.core.owl.DatatypeProperty;
import org.dllearner.core.owl.Description;
import org.dllearner.core.owl.Individual;
import org.dllearner.core.owl.NamedClass;
@@ -30,8 +24,6 @@
import org.dllearner.core.owl.ObjectPropertyDomainAxiom;
import org.dllearner.kb.SparqlEndpointKS;
import org.dllearner.kb.sparql.ExtendedQueryEngineHTTP;
-import org.dllearner.kb.sparql.SparqlEndpoint;
-import org.dllearner.kb.sparql.SparqlQuery;
import org.dllearner.learningproblems.AxiomScore;
import org.dllearner.reasoning.SPARQLReasoner;
import org.slf4j.Logger;
@@ -41,7 +33,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="objectproperty domain axiom learner", shortName="opldomain", version=0.1)
-public class ObjectPropertyDomainAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class ObjectPropertyDomainAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyDomainAxiomLearner.class);
@@ -111,25 +103,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
@@ -238,6 +214,5 @@
ResultSet resultSet = queryExecution.execSelect();
return resultSet;
}
-
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyRangeAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyRangeAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyRangeAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,15 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -19,7 +17,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.Description;
import org.dllearner.core.owl.Individual;
import org.dllearner.core.owl.NamedClass;
@@ -37,7 +34,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="objectproperty range learner", shortName="oplrange", version=0.1)
-public class ObjectPropertyRangeAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class ObjectPropertyRangeAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyRangeAxiomLearner.class);
@@ -107,25 +104,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ReflexiveObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ReflexiveObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ReflexiveObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AxiomLearningAlgorithm;
-import org.dllearner.core.AbstractComponent;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.core.owl.ReflexiveObjectPropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,7 +26,7 @@
import com.hp.hpl.jena.vocabulary.OWL2;
@ComponentAnn(name="reflexive objectproperty axiom learner", shortName="oplrefl", version=0.1)
-public class ReflexiveObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class ReflexiveObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ReflexiveObjectPropertyAxiomLearner.class);
@@ -110,12 +107,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,15 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -19,7 +17,6 @@
import org.dllearner.core.config.DataPropertyEditor;
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.DatatypeProperty;
import org.dllearner.core.owl.SubDatatypePropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -33,7 +30,7 @@
import com.hp.hpl.jena.query.ResultSet;
@ComponentAnn(name="data subPropertyOf axiom learner", shortName="dplsubprop", version=0.1)
-public class SubDataPropertyOfAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class SubDataPropertyOfAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyDomainAxiomLearner.class);
@@ -129,25 +126,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubObjectPropertyOfAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubObjectPropertyOfAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubObjectPropertyOfAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -3,15 +3,13 @@
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.SortedSet;
import java.util.TreeSet;
-import org.dllearner.core.AbstractComponent;
-import org.dllearner.core.AxiomLearningAlgorithm;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -19,7 +17,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.core.owl.SubObjectPropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,15 +26,11 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.hp.hpl.jena.query.QueryExecution;
-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.Syntax;
-import com.hp.hpl.jena.sparql.engine.http.QueryEngineHTTP;
@ComponentAnn(name="object subPropertyOf axiom learner", shortName="oplsubprop", version=0.1)
-public class SubObjectPropertyOfAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class SubObjectPropertyOfAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(ObjectPropertyDomainAxiomLearner.class);
@@ -133,25 +126,9 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- List<Axiom> bestAxioms = new ArrayList<Axiom>();
-
- Iterator<EvaluatedAxiom> it = currentlyBestAxioms.iterator();
- while(bestAxioms.size() < nrOfAxioms && it.hasNext()){
- bestAxioms.add(it.next().getAxiom());
- }
-
- return bestAxioms;
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return currentlyBestAxioms;
}
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
- int max = Math.min(currentlyBestAxioms.size(), nrOfAxioms);
-
- List<EvaluatedAxiom> bestAxioms = currentlyBestAxioms.subList(0, max);
-
- return bestAxioms;
- }
@Override
public Configurator getConfigurator() {
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AxiomLearningAlgorithm;
-import org.dllearner.core.AbstractComponent;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.core.owl.SymmetricObjectPropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -29,7 +26,7 @@
import com.hp.hpl.jena.vocabulary.OWL2;
@ComponentAnn(name="symmetric objectproperty axiom learner", shortName="oplsymm", version=0.1)
-public class SymmetricObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class SymmetricObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(SymmetricObjectPropertyAxiomLearner.class);
@@ -110,12 +107,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/TransitiveObjectPropertyAxiomLearner.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/TransitiveObjectPropertyAxiomLearner.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/TransitiveObjectPropertyAxiomLearner.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -1,11 +1,9 @@
package org.dllearner.algorithms.properties;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
-import org.dllearner.core.AxiomLearningAlgorithm;
-import org.dllearner.core.AbstractComponent;
+import org.dllearner.core.AbstractAxiomLearningAlgorithm;
import org.dllearner.core.ComponentAnn;
import org.dllearner.core.ComponentInitException;
import org.dllearner.core.EvaluatedAxiom;
@@ -13,7 +11,6 @@
import org.dllearner.core.config.IntegerEditor;
import org.dllearner.core.config.ObjectPropertyEditor;
import org.dllearner.core.configurators.Configurator;
-import org.dllearner.core.owl.Axiom;
import org.dllearner.core.owl.ObjectProperty;
import org.dllearner.core.owl.TransitiveObjectPropertyAxiom;
import org.dllearner.kb.SparqlEndpointKS;
@@ -30,7 +27,7 @@
import com.hp.hpl.jena.vocabulary.OWL;
@ComponentAnn(name="transitive objectproperty axiom learner", shortName="opltrans", version=0.1)
-public class TransitiveObjectPropertyAxiomLearner extends AbstractComponent implements AxiomLearningAlgorithm {
+public class TransitiveObjectPropertyAxiomLearner extends AbstractAxiomLearningAlgorithm {
private static final Logger logger = LoggerFactory.getLogger(TransitiveObjectPropertyAxiomLearner.class);
@@ -111,12 +108,7 @@
}
@Override
- public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
- return currentlyBestAxioms.isEmpty() ? Collections.<Axiom>emptyList() : Collections.singletonList(currentlyBestAxioms.get(0).getAxiom());
- }
-
- @Override
- public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
return currentlyBestAxioms;
}
Added: trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java (rev 0)
+++ trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -0,0 +1,91 @@
+/**
+ * Copyright (C) 2007-2011, Jens Lehmann
+ *
+ * This file is part of DL-Learner.
+ *
+ * DL-Learner is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * DL-Learner is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.dllearner.core;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.dllearner.core.configurators.Configurator;
+import org.dllearner.core.owl.Axiom;
+
+/**
+ * @author Lorenz Bühmann
+ * @author Jens Lehmann
+ */
+public class AbstractAxiomLearningAlgorithm extends AbstractComponent implements AxiomLearningAlgorithm{
+
+ @Override
+ public void start() {
+ }
+
+ @Override
+ public void init() throws ComponentInitException {
+ }
+
+ @Override
+ public List<Axiom> getCurrentlyBestAxioms() {
+ return null;
+ }
+
+ public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms) {
+ return getCurrentlyBestAxioms(nrOfAxioms, 0.0);
+ }
+
+ public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms,
+ double accuracyThreshold) {
+ List<Axiom> bestAxioms = new ArrayList<Axiom>();
+ for(EvaluatedAxiom evAx : getCurrentlyBestEvaluatedAxioms(nrOfAxioms, accuracyThreshold)){
+ bestAxioms.add(evAx.getAxiom());
+ }
+ return bestAxioms;
+ }
+
+ @Override
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms() {
+ return null;
+ }
+
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms) {
+ return getCurrentlyBestEvaluatedAxioms(nrOfAxioms, 0.0);
+ }
+
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms,
+ double accuracyThreshold) {
+ List<EvaluatedAxiom> returnList = new ArrayList<EvaluatedAxiom>();
+
+ //get the currently best evaluated axioms
+ List<EvaluatedAxiom> currentlyBestEvAxioms = getCurrentlyBestEvaluatedAxioms();
+
+ for(EvaluatedAxiom evAx : currentlyBestEvAxioms){
+ if(evAx.getScore().getAccuracy() >= accuracyThreshold && returnList.size() < nrOfAxioms){
+ returnList.add(evAx);
+ }
+ }
+
+ return returnList;
+ }
+
+ @Override
+ public Configurator getConfigurator() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+}
Modified: trunk/components-core/src/main/java/org/dllearner/core/AxiomLearningAlgorithm.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/core/AxiomLearningAlgorithm.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/core/AxiomLearningAlgorithm.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -6,16 +6,30 @@
public interface AxiomLearningAlgorithm extends LearningAlgorithm {
+
+
/**
+ * @return The best axioms found by the learning algorithm so far.
+ */
+ public List<Axiom> getCurrentlyBestAxioms();
+
+ /**
* @param nrOfAxioms Limit for the number or returned axioms.
* @return The best axioms found by the learning algorithm so far.
*/
public List<Axiom> getCurrentlyBestAxioms(int nrOfAxioms);
/**
+ * @return The best evaluated axioms found by the learning algorithm so far.
+ */
+ public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms();
+
+ /**
* @param nrOfAxioms Limit for the number or returned evaluated axioms.
* @return The best evaluated axioms found by the learning algorithm so far.
*/
public List<EvaluatedAxiom> getCurrentlyBestEvaluatedAxioms(int nrOfAxioms);
+
+
}
Modified: trunk/components-core/src/main/java/org/dllearner/core/EvaluatedAxiom.java
===================================================================
--- trunk/components-core/src/main/java/org/dllearner/core/EvaluatedAxiom.java 2011-08-18 14:49:21 UTC (rev 3069)
+++ trunk/components-core/src/main/java/org/dllearner/core/EvaluatedAxiom.java 2011-08-19 08:51:21 UTC (rev 3070)
@@ -63,9 +63,9 @@
ax.accept(r);
OWLAxiom ax1 = f.getOWLClassAssertionAxiom(EnrichmentVocabulary.Suggestion, ind);
-// OWLAxiom ax2 = f.getOWLDataPropertyAssertionAxiom(EnrichmentVocabulary.hasAxiom, ind, sw.toString());
+ OWLAxiom ax2 = f.getOWLDataPropertyAssertionAxiom(EnrichmentVocabulary.hasAxiom, ind, sw.toString());
OWLAnnotation anno = f.getOWLAnnotation(EnrichmentVocabulary.belongsTo, ind.getIRI());
- OWLAxiom ax2 = ax.getAnnotatedAxiom(Collections.singleton(anno));
+// OWLAxiom ax2 = ax.getAnnotatedAxiom(Collections.singleton(anno));
OWLAxiom ax3 = f.getOWLDataPropertyAssertionAxiom(EnrichmentVocabulary.confidence, ind, score.getAccuracy());
List<OWLAxiom> axioms = new ArrayList<OWLAxiom>();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|