From: <lor...@us...> - 2009-12-19 17:24:52
|
Revision: 1935 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1935&view=rev Author: lorenz_b Date: 2009-12-19 17:24:43 +0000 (Sat, 19 Dec 2009) Log Message: ----------- Started evaluation script with GUI. Made all necessary classes serializable - therefore superclasses now implementing the interface Serializable, and relevant classes got a SID. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java trunk/src/dl-learner/org/dllearner/core/Score.java trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/CardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeQuantorRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/Description.java trunk/src/dl-learner/org/dllearner/core/owl/Individual.java trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java trunk/src/dl-learner/org/dllearner/core/owl/Negation.java trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyExpression.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectQuantorRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/QuantorRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/Restriction.java trunk/src/dl-learner/org/dllearner/core/owl/Thing.java trunk/src/dl-learner/org/dllearner/core/owl/Union.java trunk/src/dl-learner/org/dllearner/core/owl/ValueRestriction.java trunk/src/dl-learner/org/dllearner/learningproblems/ClassScore.java trunk/src/dl-learner/org/dllearner/learningproblems/EvaluatedDescriptionClass.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java Modified: trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/EvaluatedDescription.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,7 @@ */ package org.dllearner.core; +import java.io.Serializable; import java.text.DecimalFormat; import org.dllearner.core.owl.Description; @@ -36,8 +37,12 @@ * @author Jens Lehmann * */ -public class EvaluatedDescription { +public class EvaluatedDescription implements Serializable{ + /** + * + */ + private static final long serialVersionUID = 1106431570510815033L; protected Description description; protected Score score; Modified: trunk/src/dl-learner/org/dllearner/core/Score.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/Score.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/Score.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,8 @@ */ package org.dllearner.core; +import java.io.Serializable; + /** * The score class is used to store how well a class description did * on a learning problem. Depending on the learning problem at hand, @@ -30,9 +32,14 @@ * @author Jens Lehmann * */ -public abstract class Score { +public abstract class Score implements Serializable{ /** + * + */ + private static final long serialVersionUID = -6479328496461875019L; + + /** * This method returns a value, which indicates how accurate a * class description solves a learning problem. * Modified: trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -30,6 +30,10 @@ */ public class BooleanValueRestriction extends DatatypeValueRestriction { + /** + * + */ + private static final long serialVersionUID = 1653555689466334140L; private boolean booleanValue; /** Modified: trunk/src/dl-learner/org/dllearner/core/owl/CardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/CardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/CardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -25,6 +25,10 @@ */ public abstract class CardinalityRestriction extends Restriction { + /** + * + */ + private static final long serialVersionUID = -2405514686030313790L; int cardinality; PropertyRange propertyRange; Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -25,6 +25,11 @@ */ public abstract class DatatypeCardinalityRestriction extends CardinalityRestriction { + /** + * + */ + private static final long serialVersionUID = 5027383671603031229L; + public DatatypeCardinalityRestriction(DatatypeProperty datatypeProperty, DataRange dataRange, int cardinality) { super(datatypeProperty, dataRange, cardinality); Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -28,6 +28,11 @@ public class DatatypeExactCardinalityRestriction extends DatatypeCardinalityRestriction { /** + * + */ + private static final long serialVersionUID = -6125552354406848242L; + + /** * @param datatypeProperty * @param dataRange * @param cardinality Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -28,6 +28,11 @@ public class DatatypeMaxCardinalityRestriction extends DatatypeCardinalityRestriction { /** + * + */ + private static final long serialVersionUID = -6593396982074419677L; + + /** * @param datatypeProperty * @param dataRange * @param cardinality Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -28,6 +28,11 @@ public class DatatypeMinCardinalityRestriction extends DatatypeCardinalityRestriction { /** + * + */ + private static final long serialVersionUID = 7192239562553467873L; + + /** * @param datatypeProperty * @param dataRange * @param cardinality Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeQuantorRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeQuantorRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeQuantorRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -30,6 +30,11 @@ public abstract class DatatypeQuantorRestriction extends QuantorRestriction { /** + * + */ + private static final long serialVersionUID = 7230621629431369625L; + + /** * Creates a <code>DatatypeQuantorRestriction</code> along the * given property. * @param datatypeProperty The datatype property along which this restriction acts. Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -32,6 +32,10 @@ */ public class DatatypeSomeRestriction extends DatatypeQuantorRestriction { + /** + * + */ + private static final long serialVersionUID = -9190086621306032225L; DataRange dataRange; /** Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -31,6 +31,11 @@ */ public abstract class DatatypeValueRestriction extends ValueRestriction { + /** + * + */ + private static final long serialVersionUID = 3263813180892609631L; + public DatatypeValueRestriction(DatatypeProperty restrictedPropertyExpression, Constant value) { super(restrictedPropertyExpression, value); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/Description.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Description.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Description.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,7 @@ */ package org.dllearner.core.owl; +import java.io.Serializable; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -29,9 +30,13 @@ * @author Jens Lehmann * */ -public abstract class Description implements Cloneable, PropertyRange, KBElement { +public abstract class Description implements Cloneable, PropertyRange, KBElement, Serializable { - protected Description parent = null; + /** + * + */ + private static final long serialVersionUID = -3439073654652166607L; + protected Description parent = null; protected List<Description> children = new LinkedList<Description>(); public abstract int getArity(); Modified: trunk/src/dl-learner/org/dllearner/core/owl/Individual.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Individual.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Individual.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,7 @@ */ package org.dllearner.core.owl; +import java.io.Serializable; import java.net.URI; import java.util.Map; @@ -30,8 +31,12 @@ * @author Jens Lehmann * */ -public class Individual implements Entity, NamedKBElement, Comparable<Individual> { +public class Individual implements Entity, NamedKBElement, Comparable<Individual>, Serializable { + /** + * + */ + private static final long serialVersionUID = 1831526393296388784L; private String name; public String getName() { Modified: trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -5,6 +5,11 @@ public class Intersection extends Description { + /** + * + */ + private static final long serialVersionUID = 296837418292087387L; + public Intersection() { } Modified: trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -2,8 +2,6 @@ import java.util.Map; -import org.dllearner.utilities.Helper; - public class InverseObjectPropertyAxiom extends PropertyAxiom { private ObjectProperty inverseRole; Modified: trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,7 @@ */ package org.dllearner.core.owl; +import java.io.Serializable; import java.net.URI; import java.util.Map; @@ -31,9 +32,13 @@ * @author Jens Lehmann * */ -public class NamedClass extends Description implements Entity, NamedKBElement, Comparable<NamedClass> { +public class NamedClass extends Description implements Entity, NamedKBElement, Comparable<NamedClass>, Serializable { - private String name; + /** + * + */ + private static final long serialVersionUID = -2316344469212256752L; + private String name; public NamedClass(String name) { this.name = name; Modified: trunk/src/dl-learner/org/dllearner/core/owl/Negation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Negation.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Negation.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -14,6 +14,11 @@ } */ + /** + * + */ + private static final long serialVersionUID = -3007095278542800128L; + public Negation(Description c) { addChild(c); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -29,6 +29,10 @@ */ public class Nothing extends Description { + /** + * + */ + private static final long serialVersionUID = -3053885252153066318L; public static final Nothing instance = new Nothing(); public String toString(String baseURI, Map<String,String> prefixes) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -30,6 +30,11 @@ */ public class ObjectAllRestriction extends ObjectQuantorRestriction { + /** + * + */ + private static final long serialVersionUID = -882418755852820088L; + public ObjectAllRestriction(ObjectPropertyExpression role, Description c) { super(role, c); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -2,6 +2,10 @@ public abstract class ObjectCardinalityRestriction extends CardinalityRestriction { + /** + * + */ + private static final long serialVersionUID = 4891273304140021612L; protected ObjectPropertyExpression role; protected int number; Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -27,6 +27,11 @@ */ public class ObjectExactCardinalityRestriction extends ObjectCardinalityRestriction { + /** + * + */ + private static final long serialVersionUID = -5472599301526939702L; + public ObjectExactCardinalityRestriction(int number, ObjectPropertyExpression role, Description c) { super(number,role,c); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -4,6 +4,11 @@ public class ObjectMaxCardinalityRestriction extends ObjectCardinalityRestriction { + /** + * + */ + private static final long serialVersionUID = -674570964821143091L; + public ObjectMaxCardinalityRestriction(int number, ObjectPropertyExpression role, Description c) { super(number,role,c); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -4,6 +4,11 @@ public class ObjectMinCardinalityRestriction extends ObjectCardinalityRestriction { + /** + * + */ + private static final long serialVersionUID = -7729018670336927250L; + public ObjectMinCardinalityRestriction(int number, ObjectPropertyExpression role, Description c) { super(number,role,c); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -31,8 +31,13 @@ * @author Jens Lehmann * */ -public class ObjectProperty extends ObjectPropertyExpression implements Property, Comparable<ObjectProperty> { +public class ObjectProperty extends ObjectPropertyExpression implements Property, Comparable<ObjectProperty>{ + /** + * + */ + private static final long serialVersionUID = -3343070247923446690L; + public ObjectProperty(String name) { super(name); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyExpression.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyExpression.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyExpression.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,8 @@ */ package org.dllearner.core.owl; +import java.io.Serializable; + /** * An object property expression is an object property construct, which * can be used in axioms, e.g. complex class descriptions. It can be @@ -27,8 +29,12 @@ * @author Jens Lehmann * */ -public abstract class ObjectPropertyExpression implements PropertyExpression { +public abstract class ObjectPropertyExpression implements PropertyExpression, Serializable { + /** + * + */ + private static final long serialVersionUID = -5590591991241290070L; protected String name; public ObjectPropertyExpression(String name) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -38,6 +38,11 @@ */ public class ObjectPropertyInverse extends ObjectPropertyExpression { + /** + * + */ + private static final long serialVersionUID = -5416117104822700896L; + public ObjectPropertyInverse(String name) { super(name); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectQuantorRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectQuantorRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectQuantorRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -26,6 +26,11 @@ */ public abstract class ObjectQuantorRestriction extends QuantorRestriction { + /** + * + */ + private static final long serialVersionUID = -5482730659805823042L; + public ObjectQuantorRestriction(ObjectPropertyExpression role, Description c) { super(role); addChild(c); Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -29,7 +29,12 @@ */ public class ObjectSomeRestriction extends ObjectQuantorRestriction { - public ObjectSomeRestriction(ObjectPropertyExpression role, Description c) { + /** + * + */ + private static final long serialVersionUID = 858960420513908151L; + + public ObjectSomeRestriction(ObjectPropertyExpression role, Description c) { super(role,c); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -31,6 +31,11 @@ public class ObjectValueRestriction extends ValueRestriction { /** + * + */ + private static final long serialVersionUID = 2437223709767096950L; + + /** * @param property */ public ObjectValueRestriction(Property property, Individual value) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/QuantorRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/QuantorRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/QuantorRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -25,6 +25,11 @@ */ public abstract class QuantorRestriction extends Restriction { + /** + * + */ + private static final long serialVersionUID = 5803592323249030865L; + public QuantorRestriction(PropertyExpression restrictedPropertyExpression) { super(restrictedPropertyExpression); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/Restriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Restriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Restriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -27,6 +27,10 @@ */ public abstract class Restriction extends Description { + /** + * + */ + private static final long serialVersionUID = 932723843389518050L; protected PropertyExpression restrictedPropertyExpression; public Restriction(PropertyExpression restrictedPropertyExpression) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/Thing.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Thing.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Thing.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -36,6 +36,10 @@ */ public class Thing extends Description { + /** + * + */ + private static final long serialVersionUID = -880276915058868775L; public static final Thing instance = new Thing(); public String toString(String baseURI, Map<String,String> prefixes) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/Union.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Union.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/Union.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -5,6 +5,11 @@ public class Union extends Description { + /** + * + */ + private static final long serialVersionUID = -4475957631228826618L; + public Union() { } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ValueRestriction.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/core/owl/ValueRestriction.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -27,6 +27,10 @@ */ public abstract class ValueRestriction extends Restriction { + /** + * + */ + private static final long serialVersionUID = -4597259716399359860L; protected KBElement value; public ValueRestriction(PropertyExpression propertyExpression, KBElement value) { Modified: trunk/src/dl-learner/org/dllearner/learningproblems/ClassScore.java =================================================================== --- trunk/src/dl-learner/org/dllearner/learningproblems/ClassScore.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/learningproblems/ClassScore.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,7 @@ */ package org.dllearner.learningproblems; +import java.io.Serializable; import java.util.Set; import org.dllearner.core.Score; @@ -30,8 +31,12 @@ * @author Jens Lehmann * */ -public class ClassScore extends Score { +public class ClassScore extends Score implements Serializable{ + /** + * + */ + private static final long serialVersionUID = 2003326044901308157L; private Set<Individual> coveredInstances; private Set<Individual> additionalInstances; Modified: trunk/src/dl-learner/org/dllearner/learningproblems/EvaluatedDescriptionClass.java =================================================================== --- trunk/src/dl-learner/org/dllearner/learningproblems/EvaluatedDescriptionClass.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/learningproblems/EvaluatedDescriptionClass.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -19,6 +19,7 @@ */ package org.dllearner.learningproblems; +import java.io.Serializable; import java.util.Set; import org.dllearner.core.EvaluatedDescription; @@ -37,8 +38,12 @@ * @author Jens Lehmann * */ -public class EvaluatedDescriptionClass extends EvaluatedDescription { +public class EvaluatedDescriptionClass extends EvaluatedDescription implements Serializable{ + /** + * + */ + private static final long serialVersionUID = -5907640793141522431L; private ClassScore classScore; /** Added: trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/scripts/evaluation/EvaluationGUI.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -0,0 +1,331 @@ +package org.dllearner.scripts.evaluation; + +import java.awt.BorderLayout; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.OutputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.text.DecimalFormat; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSeparator; +import javax.swing.UIManager; +import javax.swing.UnsupportedLookAndFeelException; + +import org.dllearner.algorithms.celoe.CELOE; +import org.dllearner.core.ComponentInitException; +import org.dllearner.core.ComponentManager; +import org.dllearner.core.EvaluatedDescription; +import org.dllearner.core.LearningProblemUnsupportedException; +import org.dllearner.core.ReasonerComponent; +import org.dllearner.core.configurators.CELOEConfigurator; +import org.dllearner.core.owl.NamedClass; +import org.dllearner.core.owl.Thing; +import org.dllearner.kb.OWLFile; +import org.dllearner.learningproblems.ClassLearningProblem; +import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.reasoning.FastInstanceChecker; +import org.dllearner.tools.ore.ui.MarkableClassesTable; +import org.dllearner.tools.ore.ui.SelectableClassExpressionsTable; + +public class EvaluationGUI extends JFrame implements ActionListener{ + + + + /** + * + */ + private static final long serialVersionUID = -3097551929270352556L; + + private SelectableClassExpressionsTable tab1; + private MarkableClassesTable classesTable; + + private ReasonerComponent reasoner; + + private int classesCount = 0; + private int currentClassIndex = 0; + + private static double minAccuracy = 0.85; + + private static double noisePercent = 5.0; + + private static int minInstanceCount = 3; + + private static int algorithmRuntimeInSeconds = 10; + + private static DecimalFormat df = new DecimalFormat(); + + // for performance measurements and development + private static boolean autoMode = false; + private static boolean useFastInstanceChecker = true; + private static boolean useApproximations = true; + private static boolean computeApproxDiff = false; + + private Map<NamedClass, List<EvaluatedDescriptionClass>> namedClass2EquivalenceSuggestionsMap = new HashMap<NamedClass, List<EvaluatedDescriptionClass>>(); + private Map<NamedClass, List<EvaluatedDescriptionClass>> namedClass2SuperSuggestionsMap = new HashMap<NamedClass, List<EvaluatedDescriptionClass>>(); + + public EvaluationGUI(URL fileURL) throws ComponentInitException, MalformedURLException, LearningProblemUnsupportedException{ + super(); + loadOntology(fileURL); + computeLearningResults(); + serializeResults(); + deserializeResults(); + createUI(); + pack(); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setVisible(true); + } + + private void createUI(){ + + setLayout(new BorderLayout()); + + classesTable = new MarkableClassesTable(); + classesTable.addClasses(new TreeSet<NamedClass>(namedClass2EquivalenceSuggestionsMap.keySet())); + JScrollPane classesScroll = new JScrollPane(classesTable); + add(classesScroll, BorderLayout.WEST); + + JScrollPane suggestionsScroll = new JScrollPane(createTablesPanel()); + add(suggestionsScroll, BorderLayout.CENTER); + + JPanel buttonPanel = new JPanel(); + buttonPanel.setLayout(new BorderLayout()); + JSeparator separator = new JSeparator(); + buttonPanel.add(separator, BorderLayout.NORTH); + Box buttonBox = new Box(BoxLayout.X_AXIS); + JButton nextButton = new JButton("Next"); + nextButton.setActionCommand("next"); + nextButton.addActionListener(this); + buttonBox.add(nextButton); + buttonPanel.add(buttonBox, java.awt.BorderLayout.EAST); + add(buttonPanel, BorderLayout.SOUTH); + + } + + private JPanel createTablesPanel(){ + JPanel tablesHolder = new JPanel(); + tablesHolder.setLayout(new GridLayout(5, 2)); + tab1 = new SelectableClassExpressionsTable(); + + + + tablesHolder.add(tab1); + return tablesHolder; + } + + private void showNextClassSuggestions(){ + NamedClass nc = classesTable.getSelectedClass(currentClassIndex); + tab1.addResults(namedClass2EquivalenceSuggestionsMap.get(nc)); + } + + private void loadOntology(URL fileURL) throws ComponentInitException{ + ComponentManager cm = ComponentManager.getInstance(); + + + + // load OWL in reasoner + OWLFile ks = cm.knowledgeSource(OWLFile.class); + ks.getConfigurator().setUrl(fileURL); + ks.init(); + + reasoner = null; + reasoner = cm.reasoner(FastInstanceChecker.class, ks); + reasoner.init(); + + System.out.println("Loaded ontology " + fileURL + "."); + } + + + + private void computeLearningResults() throws ComponentInitException, LearningProblemUnsupportedException, MalformedURLException{ + ComponentManager cm = ComponentManager.getInstance(); + + String baseURI = reasoner.getBaseURI(); + Map<String, String> prefixes = reasoner.getPrefixes(); + + // loop through all classes + Set<NamedClass> classes = new TreeSet<NamedClass>(reasoner.getNamedClasses()); + classes.remove(new NamedClass("http://www.w3.org/2002/07/owl#Thing")); + // reduce number of classes for testing purposes +// shrinkSet(classes, 20); + for (NamedClass nc : classes) { + // check whether the class has sufficient instances + int instanceCount = reasoner.getIndividuals(nc).size(); + if (instanceCount < minInstanceCount) { + System.out.println("class " + nc.toManchesterSyntaxString(baseURI, prefixes) + + " has only " + instanceCount + " instances (minimum: " + minInstanceCount + + ") - skipping"); + } else { + System.out.println("\nlearning axioms for class " + + nc.toManchesterSyntaxString(baseURI, prefixes) + " with " + instanceCount + + " instances"); + + + TreeSet<EvaluatedDescriptionClass> suggestions; + // i=0 is equivalence and i=1 is super class + for (int i = 0; i <= 1; i++) { + // learn equivalence axiom + ClassLearningProblem lp = cm.learningProblem(ClassLearningProblem.class, + reasoner); + lp.getConfigurator().setClassToDescribe(nc.getURI().toURL()); + if (i == 0) { + System.out + .println("generating suggestions for equivalent class (please wait " + + algorithmRuntimeInSeconds + " seconds)"); + lp.getConfigurator().setType("equivalence"); + } else { + System.out.println("suggestions for super class (please wait " + + algorithmRuntimeInSeconds + " seconds)"); + lp.getConfigurator().setType("superClass"); + } + lp.getConfigurator().setUseApproximations(useApproximations); + lp.init(); + + CELOE celoe = cm.learningAlgorithm(CELOE.class, lp, reasoner); + CELOEConfigurator cf = celoe.getConfigurator(); + cf.setUseNegation(false); + cf.setValueFrequencyThreshold(3); + cf.setMaxExecutionTimeInSeconds(algorithmRuntimeInSeconds); + cf.setNoisePercentage(noisePercent); + cf.setMaxNrOfResults(10); + celoe.init(); + + celoe.start(); + // test whether a solution above the threshold was found + EvaluatedDescription best = celoe.getCurrentlyBestEvaluatedDescription(); + double bestAcc = best.getAccuracy(); + + if (bestAcc < minAccuracy || (best.getDescription() instanceof Thing)) { + System.out + .println("The algorithm did not find a suggestion with an accuracy above the threshold of " + + (100 * minAccuracy) + + "% or the best description is not appropriate. (The best one was \"" + + best.getDescription().toManchesterSyntaxString(baseURI, + prefixes) + + "\" with an accuracy of " + + df.format(bestAcc) + ".) - skipping"); + } else { + + + + suggestions = (TreeSet<EvaluatedDescriptionClass>) celoe + .getCurrentlyBestEvaluatedDescriptions(); + List<EvaluatedDescriptionClass> suggestionsList = new LinkedList<EvaluatedDescriptionClass>( + suggestions.descendingSet()); + if(i == 0){ + namedClass2EquivalenceSuggestionsMap.put(nc, suggestionsList); + } else { + namedClass2SuperSuggestionsMap.put(nc, suggestionsList); + } + + } + } + } + } + + + } + + private void serializeResults() { + OutputStream fos = null; + File file = new File("test.ser"); + try { + fos = new FileOutputStream(file); + ObjectOutputStream o = new ObjectOutputStream(fos); + o.writeObject(namedClass2EquivalenceSuggestionsMap); + o.writeObject(namedClass2SuperSuggestionsMap); + o.flush(); + } catch (IOException e) { + System.err.println(e); + } finally { + try { + fos.close(); + } catch (Exception e) { + } + } + } + + private void deserializeResults() { + InputStream fis = null; + + try { + fis = new FileInputStream("test.ser"); + ObjectInputStream o = new ObjectInputStream(fis); + namedClass2EquivalenceSuggestionsMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o + .readObject(); + namedClass2SuperSuggestionsMap = (HashMap<NamedClass, List<EvaluatedDescriptionClass>>) o.readObject(); + + } + + catch (IOException e) { + System.err.println(e); + } catch (ClassNotFoundException e) { + System.err.println(e); + } finally { + try { + fis.close(); + } catch (Exception e) { + } + } + } + + @Override + public void actionPerformed(ActionEvent e) { + if(e.getActionCommand().equals("next")){ + classesTable.setSelectedClass(currentClassIndex++); + showNextClassSuggestions(); + } + + } + + /** + * @param args + * @throws ComponentInitException + * @throws MalformedURLException + * @throws LearningProblemUnsupportedException + * @throws UnsupportedLookAndFeelException + * @throws IllegalAccessException + * @throws InstantiationException + * @throws ClassNotFoundException + */ + public static void main(String[] args) throws ComponentInitException, MalformedURLException, LearningProblemUnsupportedException, ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException { +// Logger.getRootLogger().setLevel(Level.WARN); + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + + if (args.length == 0) { + System.out.println("You need to give an OWL file as argument."); + System.exit(0); + } + URL fileURL = null; + if(args[0].startsWith("http")){ + fileURL = new URL(args[0]); + } else { + fileURL = new File(args[0]).toURI().toURL(); + } + new EvaluationGUI(fileURL); + + } + + + +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/MarkableClassesTable.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -64,8 +64,8 @@ ((MarkableClassesTableModel)getModel()).addClasses(classes); } - public NamedClass getSelectedValue(){ - return ((MarkableClassesTableModel)getModel()).getSelectedValue(getSelectedRow()); + public NamedClass getSelectedClass(int rowIndex){ + return ((MarkableClassesTableModel)getModel()).getSelectedValue(rowIndex); } public void clear(){ Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/SparqlExtractOptionsPanel.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -177,7 +177,7 @@ breakSuperClassRetrievalAfterSpinner.setValue(1000); useCacheCheckBox.setSelected(true); useImprovedSparqlTupelAquisitorCheckBox.setSelected(false); - dissolveBlankNodesCheckBox.setSelected(true); + dissolveBlankNodesCheckBox.setSelected(false); getPropertyInformationCheckBox.setSelected(false); closeAfterRecursionCheckBox.setSelected(true); getAllSuperClassesCheckBox.setSelected(true); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -5,7 +5,6 @@ import javax.swing.ListSelectionModel; -import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxTableCellRenderer; import org.jdesktop.swingx.JXTable; import org.semanticweb.owl.model.OWLOntologyChange; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java 2009-12-19 10:54:30 UTC (rev 1934) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java 2009-12-19 17:24:43 UTC (rev 1935) @@ -34,7 +34,7 @@ } @Override - protected void setValue(Object value) {System.out.println(value); + protected void setValue(Object value) { if(value instanceof Description){ OWLDescription desc = OWLAPIDescriptionConvertVisitor.getOWLDescription((Description)value); render(desc); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |