From: <jen...@us...> - 2010-03-03 21:19:33
|
Revision: 2084 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2084&view=rev Author: jenslehmann Date: 2010-03-03 21:19:27 +0000 (Wed, 03 Mar 2010) Log Message: ----------- Pellet problem finally detected and fixed (introduction of top and bottom role in sub/super property reasoner requests Pellet 2.0.1) Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyHierarchy.java trunk/src/dl-learner/org/dllearner/test/junit/RefinementOperatorTests.java Modified: trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java 2010-03-03 14:00:10 UTC (rev 2083) +++ trunk/src/dl-learner/org/dllearner/core/ReasonerComponent.java 2010-03-03 21:19:27 UTC (rev 2084) @@ -19,7 +19,6 @@ */ package org.dllearner.core; -import java.text.DecimalFormat; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@ -32,6 +31,7 @@ import org.apache.log4j.Logger; import org.dllearner.core.owl.Axiom; +import org.dllearner.core.owl.ClassHierarchy; import org.dllearner.core.owl.Constant; import org.dllearner.core.owl.DataRange; import org.dllearner.core.owl.DatatypeProperty; @@ -43,7 +43,6 @@ import org.dllearner.core.owl.Nothing; import org.dllearner.core.owl.ObjectProperty; import org.dllearner.core.owl.ObjectPropertyHierarchy; -import org.dllearner.core.owl.ClassHierarchy; import org.dllearner.core.owl.Thing; import org.dllearner.reasoning.ReasonerType; import org.dllearner.utilities.Helper; Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyHierarchy.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyHierarchy.java 2010-03-03 14:00:10 UTC (rev 2083) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyHierarchy.java 2010-03-03 21:19:27 UTC (rev 2084) @@ -40,15 +40,20 @@ TreeSet<ObjectProperty> mostGeneralRoles = new TreeSet<ObjectProperty>(rc); TreeSet<ObjectProperty> mostSpecialRoles = new TreeSet<ObjectProperty>(rc); + ObjectProperty topRole = new ObjectProperty("http://www.w3.org/2002/07/owl#topObjectProperty"); + ObjectProperty botRole = new ObjectProperty("http://www.w3.org/2002/07/owl#bottomObjectProperty"); + public ObjectPropertyHierarchy(Set<ObjectProperty> atomicRoles, TreeMap<ObjectProperty,SortedSet<ObjectProperty>> roleHierarchyUp , TreeMap<ObjectProperty,SortedSet<ObjectProperty>> roleHierarchyDown) { this.roleHierarchyUp = roleHierarchyUp; this.roleHierarchyDown = roleHierarchyDown; // find most general and most special roles for(ObjectProperty role : atomicRoles) { - if(getMoreGeneralRoles(role).size()==0) + SortedSet<ObjectProperty> moreGen = getMoreGeneralRoles(role); + SortedSet<ObjectProperty> moreSpec = getMoreSpecialRoles(role); + if(moreGen.size()==0 || (moreGen.size()==1 && moreGen.first().equals(topRole))) mostGeneralRoles.add(role); - if(getMoreSpecialRoles(role).size()==0) + if(moreSpec.size()==0 || (moreSpec.size()==1 && moreSpec.first().equals(botRole))) mostSpecialRoles.add(role); } } Modified: trunk/src/dl-learner/org/dllearner/test/junit/RefinementOperatorTests.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/junit/RefinementOperatorTests.java 2010-03-03 14:00:10 UTC (rev 2083) +++ trunk/src/dl-learner/org/dllearner/test/junit/RefinementOperatorTests.java 2010-03-03 21:19:27 UTC (rev 2084) @@ -238,7 +238,9 @@ // (male AND male AND male) // (male AND (NOT female)) // (male AND EXISTS hasChild.TOP) - System.out.println(rs); +// System.out.println(rs); +// System.out.println("most general properties: " + rs.getMostGeneralProperties()); +// System.out.println(rs.getObjectPropertyHierarchy()); assertTrue(refinements.size()==8); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |