You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(120) |
Sep
(36) |
Oct
(116) |
Nov
(17) |
Dec
(44) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(143) |
Feb
(192) |
Mar
(74) |
Apr
(84) |
May
(105) |
Jun
(64) |
Jul
(49) |
Aug
(120) |
Sep
(159) |
Oct
(156) |
Nov
(51) |
Dec
(28) |
2009 |
Jan
(17) |
Feb
(55) |
Mar
(33) |
Apr
(57) |
May
(54) |
Jun
(28) |
Jul
(6) |
Aug
(16) |
Sep
(38) |
Oct
(30) |
Nov
(26) |
Dec
(52) |
2010 |
Jan
(7) |
Feb
(91) |
Mar
(65) |
Apr
(2) |
May
(14) |
Jun
(25) |
Jul
(38) |
Aug
(48) |
Sep
(80) |
Oct
(70) |
Nov
(75) |
Dec
(77) |
2011 |
Jan
(68) |
Feb
(53) |
Mar
(51) |
Apr
(35) |
May
(65) |
Jun
(101) |
Jul
(29) |
Aug
(230) |
Sep
(95) |
Oct
(49) |
Nov
(110) |
Dec
(63) |
2012 |
Jan
(41) |
Feb
(42) |
Mar
(25) |
Apr
(46) |
May
(51) |
Jun
(44) |
Jul
(45) |
Aug
(29) |
Sep
(12) |
Oct
(9) |
Nov
(17) |
Dec
(2) |
2013 |
Jan
(12) |
Feb
(14) |
Mar
(7) |
Apr
(16) |
May
(54) |
Jun
(27) |
Jul
(11) |
Aug
(5) |
Sep
(85) |
Oct
(27) |
Nov
(37) |
Dec
(32) |
2014 |
Jan
(8) |
Feb
(29) |
Mar
(5) |
Apr
(3) |
May
(22) |
Jun
(3) |
Jul
(4) |
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <ku...@us...> - 2008-04-09 08:27:27
|
Revision: 777 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=777&view=rev Author: kurzum Date: 2008-04-09 01:26:53 -0700 (Wed, 09 Apr 2008) Log Message: ----------- deleted @override Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java Modified: trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java 2008-04-07 15:17:58 UTC (rev 776) +++ trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java 2008-04-09 08:26:53 UTC (rev 777) @@ -38,7 +38,7 @@ return datatypeProperty.toString(baseURI, prefixes) + "(" + individual.toString(baseURI, prefixes) + "," + value +")"; } - @Override + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { return datatypeProperty.toKBSyntaxString(baseURI,prefixes) + "(" + individual.toKBSyntaxString( baseURI, prefixes) + "," + value +")"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 15:18:05
|
Revision: 776 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=776&view=rev Author: kurzum Date: 2008-04-07 08:17:58 -0700 (Mon, 07 Apr 2008) Log Message: ----------- changed output of learning algorithms ROL and REF, now has simple, Manchester, KBSyntax output Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java trunk/src/dl-learner/org/dllearner/cli/Start.java trunk/src/dl-learner/org/dllearner/core/owl/Description.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-07 15:05:51 UTC (rev 775) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-07 15:17:58 UTC (rev 776) @@ -385,12 +385,13 @@ logger.info("best node " + candidatesStable.last().getShortDescription(nrOfPositiveExamples, nrOfNegativeExamples, baseURI)); logger.info("\nsolutions:"); for(Description c : solutions) { - logger.info(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); + logger.info(" " + c.toString(baseURI,null) + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); //TODO remove this line maybe // watch for String.replace Quick hack logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()). replace("\"", "")); + logger.info(" KBSyntax: " + c.toKBSyntaxString()); } } logger.debug("size of candidate set: " + candidates.size()); Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-07 15:05:51 UTC (rev 775) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-07 15:17:58 UTC (rev 776) @@ -512,12 +512,13 @@ if(solutionFound) { logger.info("\nsolutions:"); for(Description c : solutions) { - logger.info(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); + logger.info(" " + c.toString(baseURI,null) + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); //TODO remove this line maybe // watch for String.replace Quick hack logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()). replace("\"", "")); + logger.info(" KBSyntax: " + c.toKBSyntaxString()); } } logger.info(" horizontal expansion: " + minimumHorizontalExpansion + " to " + maximumHorizontalExpansion); Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-04-07 15:05:51 UTC (rev 775) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-04-07 15:17:58 UTC (rev 776) @@ -711,7 +711,7 @@ Set<Individual> result = null; result = rs.retrieval(concept); - System.out.println("retrieval result: " + result); + System.out.println("retrieval result ("+result.size()+"): " + result); Score score = lp.computeScore(concept); System.out.println(score); Modified: trunk/src/dl-learner/org/dllearner/core/owl/Description.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Description.java 2008-04-07 15:05:51 UTC (rev 775) +++ trunk/src/dl-learner/org/dllearner/core/owl/Description.java 2008-04-07 15:17:58 UTC (rev 776) @@ -190,6 +190,11 @@ return toString(null, null); } + + public String toKBSyntaxString() { + return toKBSyntaxString(null, null); + } + /** * Returns a manchester syntax string of this description. For a * reference, see This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 15:05:57
|
Revision: 775 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=775&view=rev Author: kurzum Date: 2008-04-07 08:05:51 -0700 (Mon, 07 Apr 2008) Log Message: ----------- added toKBSyntaxString method Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/gp/ADC.java trunk/src/dl-learner/org/dllearner/core/owl/BooleanDataRange.java trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ClassAssertionAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/Datatype.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/DatatypeProperty.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyDomainAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyRangeAxiom.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/DifferentIndividualsAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/DisjointClassesAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/DoubleDatatypePropertyAssertion.java trunk/src/dl-learner/org/dllearner/core/owl/DoubleMaxValue.java trunk/src/dl-learner/org/dllearner/core/owl/DoubleMinValue.java trunk/src/dl-learner/org/dllearner/core/owl/EquivalentClassesAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/FunctionalObjectPropertyAxiom.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/KB.java trunk/src/dl-learner/org/dllearner/core/owl/KBElement.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/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/ObjectPropertyAssertion.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyDomainAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyRangeAxiom.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/SubClassAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/SubObjectPropertyAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/SymmetricObjectPropertyAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/Thing.java trunk/src/dl-learner/org/dllearner/core/owl/TransitiveObjectPropertyAxiom.java trunk/src/dl-learner/org/dllearner/core/owl/TypedConstant.java trunk/src/dl-learner/org/dllearner/core/owl/Union.java trunk/src/dl-learner/org/dllearner/core/owl/UntypedConstant.java trunk/src/dl-learner/org/dllearner/examples/KRK.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/gp/ADC.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/gp/ADC.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/algorithms/gp/ADC.java 2008-04-07 15:05:51 UTC (rev 775) @@ -37,6 +37,12 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "ADC"; } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "ADC"; + } + + /* (non-Javadoc) * @see org.dllearner.core.owl.Description#toManchesterSyntaxString() Modified: trunk/src/dl-learner/org/dllearner/core/owl/BooleanDataRange.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/BooleanDataRange.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/BooleanDataRange.java 2008-04-07 15:05:51 UTC (rev 775) @@ -58,6 +58,13 @@ // TODO Auto-generated method stub return null; } + + + public String toKBSyntaxString (String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } + public void accept(KBElementVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/BooleanDatatypePropertyAssertion.java 2008-04-07 15:05:51 UTC (rev 775) @@ -37,6 +37,11 @@ public String toString(String baseURI, Map<String, String> prefixes) { return datatypeProperty.toString(baseURI, prefixes) + "(" + individual.toString(baseURI, prefixes) + "," + value +")"; } + + @Override + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return datatypeProperty.toKBSyntaxString(baseURI,prefixes) + "(" + individual.toKBSyntaxString( baseURI, prefixes) + "," + value +")"; + } public boolean getValue() { return value; Modified: trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/BooleanValueRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -19,6 +19,7 @@ */ package org.dllearner.core.owl; + /** * Convenience class for boolean value restrictions. * @@ -58,4 +59,10 @@ public int getLength() { return 2; } + + /*@Override + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + throw new Error("BooleanValueRestriction: not implemented"); + + }*/ } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ClassAssertionAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ClassAssertionAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ClassAssertionAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -51,9 +51,18 @@ } public String toString(String baseURI, Map<String,String> prefixes) { - return concept.toString(baseURI, prefixes) + "(" + individual + ")"; + return concept.toString(baseURI, prefixes) + "(" + individual.toString(baseURI, prefixes) + ")"; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return concept.toKBSyntaxString(baseURI, prefixes) + "(" + individual.toKBSyntaxString(baseURI, prefixes) + ")"; + } + + /*@Override + public String toKBSyntaxString() { + return concept.toKBSyntaxString() + "(" + individual + ")"; + }*/ + @Override public void accept(AxiomVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Datatype.java 2008-04-07 15:05:51 UTC (rev 775) @@ -55,6 +55,10 @@ return uri.toString(); } + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return uri.toString(); + } + public void accept(KBElementVisitor visitor) { visitor.visit(this); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeExactCardinalityRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -63,6 +63,11 @@ return null; } + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } + /* (non-Javadoc) * @see org.dllearner.core.owl.Description#toManchesterSyntaxString() */ Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMaxCardinalityRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -62,6 +62,11 @@ // TODO Auto-generated method stub return null; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } @Override public void accept(DescriptionVisitor visitor) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeMinCardinalityRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -62,6 +62,11 @@ // TODO Auto-generated method stub return null; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } /* (non-Javadoc) * @see org.dllearner.core.owl.Description#accept(org.dllearner.core.owl.DescriptionVisitor) Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeProperty.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeProperty.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeProperty.java 2008-04-07 15:05:51 UTC (rev 775) @@ -52,6 +52,10 @@ } public String toString(String baseURI, Map<String, String> prefixes) { + return Helper.getAbbreviatedString(name, baseURI, prefixes); + } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { return "\"" + Helper.getAbbreviatedString(name, baseURI, prefixes) + "\""; } Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyDomainAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyDomainAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyDomainAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -52,6 +52,15 @@ } /* (non-Javadoc) + * @see org.dllearner.core.owl.KBElement#toKBSyntaxString(java.lang.String, java.util.Map) + */ + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } + + + /* (non-Javadoc) * @see org.dllearner.core.owl.Axiom#accept(org.dllearner.core.owl.AxiomVisitor) */ @Override Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyRangeAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyRangeAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypePropertyRangeAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -50,6 +50,11 @@ // TODO Auto-generated method stub return null; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } /* (non-Javadoc) * @see org.dllearner.core.owl.Axiom#accept(org.dllearner.core.owl.AxiomVisitor) Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeSomeRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -63,6 +63,13 @@ public String toString(String baseURI, Map<String, String> prefixes) { return restrictedPropertyExpression.toString(baseURI, prefixes) + dataRange.toString(baseURI, prefixes); } + + /* (non-Javadoc) + * @see org.dllearner.core.owl.KBElement#toKBSyntaxString(java.lang.String, java.util.Map) + */ + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return restrictedPropertyExpression.toKBSyntaxString(baseURI, prefixes) + dataRange.toKBSyntaxString(baseURI, prefixes); + } /* (non-Javadoc) * @see org.dllearner.core.owl.Description#accept(org.dllearner.core.owl.DescriptionVisitor) Modified: trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DatatypeValueRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -68,6 +68,10 @@ public String toString(String baseURI, Map<String, String> prefixes) { return restrictedPropertyExpression.toString(baseURI, prefixes) + " = " + value.toString(baseURI, prefixes); } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return restrictedPropertyExpression.toKBSyntaxString(baseURI, prefixes) + " = " + value.toKBSyntaxString(baseURI, prefixes); + } public DatatypeProperty getRestrictedPropertyExpresssion() { return (DatatypeProperty) restrictedPropertyExpression; Modified: trunk/src/dl-learner/org/dllearner/core/owl/DifferentIndividualsAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DifferentIndividualsAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DifferentIndividualsAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -48,6 +48,11 @@ // TODO Auto-generated method stub return null; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + throw new Error("DifferentIndividualsAxiom: Not implemented"); + } public Set<Individual> getIndividuals() { return individuals; Modified: trunk/src/dl-learner/org/dllearner/core/owl/DisjointClassesAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DisjointClassesAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DisjointClassesAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -51,6 +51,13 @@ // TODO Auto-generated method stub return null; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + throw new Error("DisjointClassesAxiom: Not implemented"); + } + + @Override public void accept(AxiomVisitor visitor) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/DoubleDatatypePropertyAssertion.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DoubleDatatypePropertyAssertion.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DoubleDatatypePropertyAssertion.java 2008-04-07 15:05:51 UTC (rev 775) @@ -40,6 +40,13 @@ public String toString(String baseURI, Map<String, String> prefixes) { return datatypeProperty.toString(baseURI, prefixes) + "(" + individual.toString(baseURI, prefixes) + "," + value +")"; } + + /* (non-Javadoc) + * @see org.dllearner.core.owl.KBElement#toKBSyntaxString(java.lang.String, java.util.Map) + */ + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return datatypeProperty.toKBSyntaxString(baseURI, prefixes) + "(" + individual.toKBSyntaxString(baseURI, prefixes) + "," + value +")"; + } public double getValue() { return value; Modified: trunk/src/dl-learner/org/dllearner/core/owl/DoubleMaxValue.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DoubleMaxValue.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DoubleMaxValue.java 2008-04-07 15:05:51 UTC (rev 775) @@ -57,6 +57,10 @@ return " <= " + value; } + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return " <= " + value; + } + public void accept(KBElementVisitor visitor) { visitor.visit(this); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/DoubleMinValue.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/DoubleMinValue.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/DoubleMinValue.java 2008-04-07 15:05:51 UTC (rev 775) @@ -57,6 +57,10 @@ return " >= " + value; } + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return " >= " + value; + } + public void accept(KBElementVisitor visitor) { visitor.visit(this); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/EquivalentClassesAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/EquivalentClassesAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/EquivalentClassesAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -27,6 +27,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return concept1.toString(baseURI, prefixes) + " = " + concept2.toString(baseURI, prefixes); } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return concept1.toKBSyntaxString(baseURI, prefixes) + " = " + concept2.toKBSyntaxString(baseURI, prefixes); + } @Override public void accept(AxiomVisitor visitor) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/FunctionalObjectPropertyAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/FunctionalObjectPropertyAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/FunctionalObjectPropertyAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -18,9 +18,19 @@ return 1 + role.getLength(); } + /* (non-Javadoc) + * @see org.dllearner.core.owl.KBElement#toString(java.lang.String, java.util.Map) + */ public String toString(String baseURI, Map<String,String> prefixes) { return "Functional(" + role.toString(baseURI, prefixes) + ")"; } + + /* (non-Javadoc) + * @see org.dllearner.core.owl.KBElement#toKBSyntaxString(java.lang.String, java.util.Map) + */ + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "Functional(" + role.toKBSyntaxString(baseURI, prefixes) + ")"; + } @Override public void accept(AxiomVisitor visitor) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/Individual.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Individual.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Individual.java 2008-04-07 15:05:51 UTC (rev 775) @@ -60,6 +60,10 @@ } public String toString(String baseURI, Map<String,String> prefixes) { + return Helper.getAbbreviatedString(name, baseURI, prefixes); + } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { return "\"" + Helper.getAbbreviatedString(name, baseURI, prefixes) + "\""; } Modified: trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java 2008-04-07 15:05:51 UTC (rev 775) @@ -39,16 +39,28 @@ return "EMPTY_AND"; String ret = "("; + for(int i=0; i<children.size()-1; i++) { + ret += children.get(i).toString(baseURI, prefixes) + " AND "; + } + ret += children.get(children.size()-1).toString(baseURI, prefixes) + ")"; + return ret; + } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + if(children.size()==0) + return "EMPTY_AND"; + + String ret = "("; String bracketCollect = ""; for(int i=0; i<children.size()-1; i++) { - ret += children.get(i).toString(baseURI, prefixes) + " AND "; + ret += children.get(i).toKBSyntaxString(baseURI, prefixes) + " AND "; if( i != (children.size()-2) ) { ret += "("; bracketCollect += ")"; } } - ret += children.get(children.size()-1).toString(baseURI, prefixes) + ")"; + ret += children.get(children.size()-1).toKBSyntaxString(baseURI, prefixes) + ")"; ret += bracketCollect; return ret; } Modified: trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/InverseObjectPropertyAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -26,6 +26,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "Inverse(" + inverseRole + "," + role.toString(baseURI, prefixes) + ")"; + } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "Inverse(" + inverseRole.toKBSyntaxString(baseURI, prefixes) + "," + role.toKBSyntaxString(baseURI, prefixes) + ")"; } @Override Modified: trunk/src/dl-learner/org/dllearner/core/owl/KB.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/KB.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/KB.java 2008-04-07 15:05:51 UTC (rev 775) @@ -203,6 +203,19 @@ return str; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + String str = "TBox["+tbox.size()+"]:\n"; + for(Axiom a : tbox) + str += " " + a.toString(baseURI, prefixes)+"\n"; + str += "RBox["+rbox.size()+"]:\n"; + for(Axiom a : rbox) + str += " " + a.toString(baseURI, prefixes)+"\n"; + str += "ABox["+abox.size()+"]:\n"; + for(Axiom a : abox) + str += " " + a.toString(baseURI, prefixes)+"\n"; + return str; + } + public Set<Individual> findRelatedIndividuals(Individual individual) { return findRelatedIndividuals(individual, new TreeSet<Individual>()); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/KBElement.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/KBElement.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/KBElement.java 2008-04-07 15:05:51 UTC (rev 775) @@ -14,5 +14,7 @@ public String toString(String baseURI, Map<String,String> prefixes); + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes); + public void accept(KBElementVisitor visitor); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/NamedClass.java 2008-04-07 15:05:51 UTC (rev 775) @@ -52,6 +52,10 @@ } public String toString(String baseURI, Map<String,String> prefixes) { + return Helper.getAbbreviatedString(name, baseURI, prefixes); + } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { return "\"" + Helper.getAbbreviatedString(name, baseURI, prefixes) + "\""; } Modified: trunk/src/dl-learner/org/dllearner/core/owl/Negation.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Negation.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Negation.java 2008-04-07 15:05:51 UTC (rev 775) @@ -21,6 +21,11 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "(NOT " +children.get(0).toString(baseURI, prefixes) + ")"; } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + //TODO brackets removed, but they maybe have to be here + return "NOT " +children.get(0).toKBSyntaxString(baseURI, prefixes) + ""; + } public int getLength() { return 1 + children.get(0).getLength(); Modified: trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java 2008-04-07 15:05:51 UTC (rev 775) @@ -34,6 +34,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "BOTTOM"; } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "BOTTOM"; + } /* (non-Javadoc) * @see org.dllearner.core.owl.Description#toManchesterSyntaxString(java.lang.String, java.util.Map) Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -37,6 +37,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "ALL " + restrictedPropertyExpression.toString(baseURI, prefixes) + "." + children.get(0).toString(baseURI, prefixes); } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "ALL " + restrictedPropertyExpression.toKBSyntaxString(baseURI, prefixes) + "." + children.get(0).toKBSyntaxString(baseURI, prefixes); + } @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectExactCardinalityRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -39,6 +39,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "= " + number + " " + role.toString(baseURI, prefixes) + " " + getChild(0).toString(baseURI, prefixes); } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "= " + number + " " + role.toKBSyntaxString(baseURI, prefixes) + " " + getChild(0).toKBSyntaxString(baseURI, prefixes); + } @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectMaxCardinalityRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -15,8 +15,12 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "<= " + number + " " + role.toString(baseURI, prefixes) + " " + getChild(0).toString(baseURI, prefixes); - } + } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "<= " + number + " " + role.toKBSyntaxString(baseURI, prefixes) + " " + getChild(0).toKBSyntaxString(baseURI, prefixes); + } + @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { return role.toString(baseURI, prefixes) + " max " + number + " " + getChild(0).toManchesterSyntaxString(baseURI, prefixes); Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectMinCardinalityRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -17,6 +17,10 @@ return ">= " + number + " " + role.toString(baseURI, prefixes) + " " + getChild(0).toString(baseURI, prefixes); } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return ">= " + number + " " + role.toKBSyntaxString(baseURI, prefixes) + " " + getChild(0).toKBSyntaxString(baseURI, prefixes); + } + @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { return role.toString(baseURI, prefixes) + " min " + number + " " + getChild(0).toManchesterSyntaxString(baseURI, prefixes); Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectProperty.java 2008-04-07 15:05:51 UTC (rev 775) @@ -46,8 +46,12 @@ } public String toString(String baseURI, Map<String,String> prefixes) { + return Helper.getAbbreviatedString(name, baseURI, prefixes) ; + } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { return "\"" + Helper.getAbbreviatedString(name, baseURI, prefixes) + "\""; - } + } public void accept(KBElementVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyAssertion.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyAssertion.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyAssertion.java 2008-04-07 15:05:51 UTC (rev 775) @@ -65,6 +65,10 @@ return role.toString(baseURI, prefixes) + "(" + individual1.toString(baseURI, prefixes) + "," + individual2.toString(baseURI, prefixes) +")"; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return role.toKBSyntaxString(baseURI, prefixes) + "(" + individual1.toKBSyntaxString(baseURI, prefixes) + "," + individual2.toKBSyntaxString(baseURI, prefixes) +")"; + } + public void accept(KBElementVisitor visitor) { visitor.visit(this); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyDomainAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyDomainAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyDomainAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -52,6 +52,12 @@ // TODO Auto-generated method stub return null; } + + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } @Override public void accept(AxiomVisitor visitor) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyInverse.java 2008-04-07 15:05:51 UTC (rev 775) @@ -50,6 +50,10 @@ return Helper.getAbbreviatedString(name, baseURI, prefixes) + "-"; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return Helper.getAbbreviatedString(name, baseURI, prefixes) + "-"; + } + public void accept(KBElementVisitor visitor) { visitor.visit(this); } Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyRangeAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyRangeAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectPropertyRangeAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -46,6 +46,11 @@ // TODO Auto-generated method stub return null; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } @Override public Description getRange() { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -36,6 +36,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "EXISTS " + restrictedPropertyExpression.toString(baseURI, prefixes) + "." + children.get(0).toString(baseURI, prefixes); } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "EXISTS " + restrictedPropertyExpression.toKBSyntaxString(baseURI, prefixes) + "." + children.get(0).toKBSyntaxString(baseURI, prefixes); + } @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectValueRestriction.java 2008-04-07 15:05:51 UTC (rev 775) @@ -71,6 +71,11 @@ return null; } + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + // TODO Auto-generated method stub + return null; + } + public Individual getIndividual() { return (Individual) value; } Modified: trunk/src/dl-learner/org/dllearner/core/owl/SubClassAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/SubClassAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/SubClassAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -28,6 +28,10 @@ return subConcept.toString(baseURI, prefixes) + " SUBCONCEPTOF " + superConcept.toString(baseURI, prefixes); } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return subConcept.toKBSyntaxString(baseURI, prefixes) + " SUBCONCEPTOF " + superConcept.toKBSyntaxString(baseURI, prefixes); + } + @Override public void accept(AxiomVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/SubObjectPropertyAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/SubObjectPropertyAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/SubObjectPropertyAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -26,8 +26,12 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "Subrole(" + subRole.toString(baseURI, prefixes) + "," + role.toString(baseURI, prefixes) + ")"; - } + } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "Subrole(" + subRole.toKBSyntaxString(baseURI, prefixes) + "," + role.toKBSyntaxString(baseURI, prefixes) + ")"; + } + @Override public void accept(AxiomVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/SymmetricObjectPropertyAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/SymmetricObjectPropertyAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/SymmetricObjectPropertyAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -22,6 +22,10 @@ return "Symmetric(" + role.toString(baseURI, prefixes) + ")"; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "Symmetric(" + role.toKBSyntaxString(baseURI, prefixes) + ")"; + } + @Override public void accept(AxiomVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/Thing.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Thing.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Thing.java 2008-04-07 15:05:51 UTC (rev 775) @@ -41,6 +41,10 @@ public String toString(String baseURI, Map<String,String> prefixes) { return "TOP"; } + + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "TOP"; + } @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { Modified: trunk/src/dl-learner/org/dllearner/core/owl/TransitiveObjectPropertyAxiom.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/TransitiveObjectPropertyAxiom.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/TransitiveObjectPropertyAxiom.java 2008-04-07 15:05:51 UTC (rev 775) @@ -22,6 +22,10 @@ return "Transitive(" + role.toString(baseURI, prefixes) + ")"; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + return "Transitive(" + role.toKBSyntaxString(baseURI, prefixes) + ")"; + } + @Override public void accept(AxiomVisitor visitor) { visitor.visit(this); Modified: trunk/src/dl-learner/org/dllearner/core/owl/TypedConstant.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/TypedConstant.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/TypedConstant.java 2008-04-07 15:05:51 UTC (rev 775) @@ -50,6 +50,11 @@ return literal; // return literal + "^^" + datatype; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + return literal; +// return literal + "^^" + datatype; + } /** * @return the datatype Modified: trunk/src/dl-learner/org/dllearner/core/owl/Union.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Union.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/Union.java 2008-04-07 15:05:51 UTC (rev 775) @@ -48,6 +48,25 @@ return ret; } + public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { + + if(children.size()==0) + return "EMPTY_OR"; + + String ret = "("; + String bracketCollect = ""; + for(int i=0; i<children.size()-1; i++) { + ret += children.get(i).toKBSyntaxString(baseURI, prefixes) + " OR "; + if( i != (children.size()-2) ) { + ret += "("; + bracketCollect += ")"; + } + } + ret += children.get(children.size()-1).toKBSyntaxString(baseURI, prefixes) + ")"; + ret += bracketCollect; + return ret; + } + @Override public String toManchesterSyntaxString(String baseURI, Map<String,String> prefixes) { if(children.size()==0) Modified: trunk/src/dl-learner/org/dllearner/core/owl/UntypedConstant.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/UntypedConstant.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/core/owl/UntypedConstant.java 2008-04-07 15:05:51 UTC (rev 775) @@ -61,6 +61,13 @@ else return literal; } + + public String toKBSyntaxString(String baseURI, Map<String, String> prefixes) { + if(hasLang) + return literal + "@" + lang; + else + return literal; + } /** * @return the lang Modified: trunk/src/dl-learner/org/dllearner/examples/KRK.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-07 12:18:57 UTC (rev 774) +++ trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-07 15:05:51 UTC (rev 775) @@ -233,14 +233,17 @@ if(closeKB) { if(closeConcise) { - oc.applyNumberRestrictionsNamed(); + oc.applyNumberRestrictionsConcise(); kbaddition = "_CloseConcise"; } else oc.applyNumberRestrictions(); } - - if (verifySomeConcepts) verifySomeConcepts(oc); + + if (verifySomeConcepts) { + oc.updateReasoner(); + verifySomeConcepts(oc); + } if (writeClosedOWL) writeOWLFile("test"+kbaddition+".owl"); } catch (Exception e) { @@ -319,6 +322,9 @@ " ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + "\"http://www.test.de/test#WKing\") ");*/ + + test.add("EXISTS \"http://www.test.de/test#hasPiece\".EXISTS \"http://www.test.de/test#hasLowerRankThan\".(\"http://www.test.de/test#WRook\" AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\")") ; + for (int i = 0; i < test.size(); i++) { String conceptStr = test.get(i); oc.verifyConcept(conceptStr); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 12:19:05
|
Revision: 774 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=774&view=rev Author: kurzum Date: 2008-04-07 05:18:57 -0700 (Mon, 07 Apr 2008) Log Message: ----------- corrected brackets so now it is: (a AND (b AND c)) instead of: (a AND b AND c) which could not be parsed by KBparse Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java Modified: trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java 2008-04-07 10:40:36 UTC (rev 773) +++ trunk/src/dl-learner/org/dllearner/core/owl/Intersection.java 2008-04-07 12:18:57 UTC (rev 774) @@ -39,10 +39,17 @@ return "EMPTY_AND"; String ret = "("; + String bracketCollect = ""; for(int i=0; i<children.size()-1; i++) { ret += children.get(i).toString(baseURI, prefixes) + " AND "; + if( i != (children.size()-2) ) { + ret += "("; + bracketCollect += ")"; + } } + ret += children.get(children.size()-1).toString(baseURI, prefixes) + ")"; + ret += bracketCollect; return ret; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 10:40:38
|
Revision: 773 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=773&view=rev Author: kurzum Date: 2008-04-07 03:40:36 -0700 (Mon, 07 Apr 2008) Log Message: ----------- cleanded krk examples Added Paths: ----------- trunk/examples/krk/KRK_ONE_ZERO_fastInstance.conf trunk/examples/krk/KRK_ZERO_ONE.owl trunk/examples/krk/KRK_ZERO_ONE_fastInstance.conf trunk/examples/krk/KRK_ZERO_against_1to5.owl trunk/examples/krk/KRK_ZERO_against_1to5_fastInstance.conf Removed Paths: ------------- trunk/examples/krk/test_ONE_ZERO_fastInstance.conf trunk/examples/krk/test_ZERO_ONE.owl trunk/examples/krk/test_ZERO_ONE_Closed.owl trunk/examples/krk/test_ZERO_ONE_fastInstance.conf trunk/examples/krk/test_ZERO_ONE_fastInstance_noALL_noNOT.conf trunk/examples/krk/test_ZERO_ONE_refinement.conf trunk/examples/krk/test_ZERO_against_1to5.conf trunk/examples/krk/test_ZERO_against_1to5.owl trunk/examples/krk/toy_working.owl trunk/examples/krk/toy_working_ZERO_ONE.conf Copied: trunk/examples/krk/KRK_ONE_ZERO_fastInstance.conf (from rev 763, trunk/examples/krk/test_ONE_ZERO_fastInstance.conf) =================================================================== --- trunk/examples/krk/KRK_ONE_ZERO_fastInstance.conf (rev 0) +++ trunk/examples/krk/KRK_ONE_ZERO_fastInstance.conf 2008-04-07 10:40:36 UTC (rev 773) @@ -0,0 +1,142 @@ +/* +DEBUG - --- loop 5279 started --- +INFO - best node EXISTS "hasPiece".EXISTS "hasLowerRankThan".("WRook" AND ALL "fileDistanceLessThan1"."WKing") [acc:100% h:0,853 q:0p-0n (REASONER), he:8 c:0] +INFO - +solutions: +INFO - EXISTS "http://www.test.de/test#hasPiece".EXISTS "http://www.test.de/test#hasLowerRankThan".("http://www.test.de/test#WRook" AND ALL "http://www.test.de/test#fileDistanceLessThan1"."http://www.test.de/test#WKing") (length 9, depth 5) +INFO - MANCHESTER: hasPiece some hasLowerRankThan some (WRook and fileDistanceLessThan1 only WKing) +DEBUG - size of candidate set: 50434 +DEBUG - properness tests (reasoner/short concept/too weak list): 0/3/56 +DEBUG - concept tests (reasoner/too weak list/overly general list/redundant concepts): 12609/56/38684/4153 +INFO - Algorithm terminated succesfully. +number of retrievals: 12 +retrieval reasoning time: 0ms ( 0ms per retrieval) +number of instance checks: 1232144 (0 multiple) +instance check reasoning time: 9s 613ms ( 0ms per instance check) +subsumption hierarchy queries: 14 +(complex) subsumption checks: 8 (0 multiple) +subsumption reasoning time: 17ms ( 2ms per subsumption check) +overall reasoning time: 9s 630ms (24,91% of overall runtime) +overall algorithm runtime: 38s 662ms + + + +*/ + +import("KRK_ZERO_ONE.owl"); +refexamples.ignoredConcepts={ +"http://www.test.de/test#ONE", +"http://www.test.de/test#ZERO"}; + + +algorithm = refexamples; +reasoner=fastInstanceChecker; + + ++"http://www.test.de/test#game100" ++"http://www.test.de/test#game101" ++"http://www.test.de/test#game102" ++"http://www.test.de/test#game103" ++"http://www.test.de/test#game104" ++"http://www.test.de/test#game105" ++"http://www.test.de/test#game28" ++"http://www.test.de/test#game29" ++"http://www.test.de/test#game30" ++"http://www.test.de/test#game31" ++"http://www.test.de/test#game32" ++"http://www.test.de/test#game33" ++"http://www.test.de/test#game34" ++"http://www.test.de/test#game35" ++"http://www.test.de/test#game36" ++"http://www.test.de/test#game37" ++"http://www.test.de/test#game38" ++"http://www.test.de/test#game39" ++"http://www.test.de/test#game40" ++"http://www.test.de/test#game41" ++"http://www.test.de/test#game42" ++"http://www.test.de/test#game43" ++"http://www.test.de/test#game44" ++"http://www.test.de/test#game45" ++"http://www.test.de/test#game46" ++"http://www.test.de/test#game47" ++"http://www.test.de/test#game48" ++"http://www.test.de/test#game49" ++"http://www.test.de/test#game50" ++"http://www.test.de/test#game51" ++"http://www.test.de/test#game52" ++"http://www.test.de/test#game53" ++"http://www.test.de/test#game54" ++"http://www.test.de/test#game55" ++"http://www.test.de/test#game56" ++"http://www.test.de/test#game57" ++"http://www.test.de/test#game58" ++"http://www.test.de/test#game59" ++"http://www.test.de/test#game60" ++"http://www.test.de/test#game61" ++"http://www.test.de/test#game62" ++"http://www.test.de/test#game63" ++"http://www.test.de/test#game64" ++"http://www.test.de/test#game65" ++"http://www.test.de/test#game66" ++"http://www.test.de/test#game67" ++"http://www.test.de/test#game68" ++"http://www.test.de/test#game69" ++"http://www.test.de/test#game70" ++"http://www.test.de/test#game71" ++"http://www.test.de/test#game72" ++"http://www.test.de/test#game73" ++"http://www.test.de/test#game74" ++"http://www.test.de/test#game75" ++"http://www.test.de/test#game76" ++"http://www.test.de/test#game77" ++"http://www.test.de/test#game78" ++"http://www.test.de/test#game79" ++"http://www.test.de/test#game80" ++"http://www.test.de/test#game81" ++"http://www.test.de/test#game82" ++"http://www.test.de/test#game83" ++"http://www.test.de/test#game84" ++"http://www.test.de/test#game85" ++"http://www.test.de/test#game86" ++"http://www.test.de/test#game87" ++"http://www.test.de/test#game88" ++"http://www.test.de/test#game89" ++"http://www.test.de/test#game90" ++"http://www.test.de/test#game91" ++"http://www.test.de/test#game92" ++"http://www.test.de/test#game93" ++"http://www.test.de/test#game94" ++"http://www.test.de/test#game95" ++"http://www.test.de/test#game96" ++"http://www.test.de/test#game97" ++"http://www.test.de/test#game98" ++"http://www.test.de/test#game99" + + +-"http://www.test.de/test#game1" +-"http://www.test.de/test#game10" +-"http://www.test.de/test#game11" +-"http://www.test.de/test#game12" +-"http://www.test.de/test#game13" +-"http://www.test.de/test#game14" +-"http://www.test.de/test#game15" +-"http://www.test.de/test#game16" +-"http://www.test.de/test#game17" +-"http://www.test.de/test#game18" +-"http://www.test.de/test#game19" +-"http://www.test.de/test#game2" +-"http://www.test.de/test#game20" +-"http://www.test.de/test#game21" +-"http://www.test.de/test#game22" +-"http://www.test.de/test#game23" +-"http://www.test.de/test#game24" +-"http://www.test.de/test#game25" +-"http://www.test.de/test#game26" +-"http://www.test.de/test#game27" +-"http://www.test.de/test#game3" +-"http://www.test.de/test#game4" +-"http://www.test.de/test#game5" +-"http://www.test.de/test#game6" +-"http://www.test.de/test#game7" +-"http://www.test.de/test#game8" +-"http://www.test.de/test#game9" \ No newline at end of file Copied: trunk/examples/krk/KRK_ZERO_ONE.owl (from rev 763, trunk/examples/krk/test_ZERO_ONE.owl) =================================================================== --- trunk/examples/krk/KRK_ZERO_ONE.owl (rev 0) +++ trunk/examples/krk/KRK_ZERO_ONE.owl 2008-04-07 10:40:36 UTC (rev 773) @@ -0,0 +1,5043 @@ +<?xml version="1.0"?> + + +<!DOCTYPE rdf:RDF [ + <!ENTITY test "http://www.test.de/test#" > + <!ENTITY owl "http://www.w3.org/2002/07/owl#" > + <!ENTITY owl11 "http://www.w3.org/2006/12/owl11#" > + <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" > + <!ENTITY owl11xml "http://www.w3.org/2006/12/owl11-xml#" > + <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" > + <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > +]> + + +<rdf:RDF xmlns="http://www.test.de/test#" + xml:base="http://www.test.de/test" + xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" + xmlns:owl11="http://www.w3.org/2006/12/owl11#" + xmlns:owl11xml="http://www.w3.org/2006/12/owl11-xml#" + xmlns:test="http://www.test.de/test#" + xmlns:owl="http://www.w3.org/2002/07/owl#" + xmlns:xsd="http://www.w3.org/2001/XMLSchema#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <owl:Ontology rdf:about=""/> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Object Properties + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + <!-- http://www.test.de/test#fileDistance0 --> + + <owl:ObjectProperty rdf:about="#fileDistance0"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan1"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance1 --> + + <owl:ObjectProperty rdf:about="#fileDistance1"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan2"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance2 --> + + <owl:ObjectProperty rdf:about="#fileDistance2"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan3"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance3 --> + + <owl:ObjectProperty rdf:about="#fileDistance3"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan4"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance4 --> + + <owl:ObjectProperty rdf:about="#fileDistance4"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan5"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance5 --> + + <owl:ObjectProperty rdf:about="#fileDistance5"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan6"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance6 --> + + <owl:ObjectProperty rdf:about="#fileDistance6"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan7"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistance7 --> + + <owl:ObjectProperty rdf:about="#fileDistance7"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan8"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan0 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan0"> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan1"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan1 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan1"> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan2"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan2 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan2"> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan3"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan3 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan3"> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan4"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan4 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan4"> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan5"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan5 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan5"> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan6"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan6 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan6"> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan7"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan7 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan7"> + <rdfs:subPropertyOf rdf:resource="#fileDistanceLessThan8"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#fileDistanceLessThan8 --> + + <owl:ObjectProperty rdf:about="#fileDistanceLessThan8"> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#hasLowerFileThan --> + + <owl:ObjectProperty rdf:about="#hasLowerFileThan"> + <rdf:type rdf:resource="&owl;TransitiveProperty"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#hasLowerRankThan --> + + <owl:ObjectProperty rdf:about="#hasLowerRankThan"> + <rdf:type rdf:resource="&owl;TransitiveProperty"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#hasPiece --> + + <owl:ObjectProperty rdf:about="#hasPiece"> + <rdfs:domain rdf:resource="#Game"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance0 --> + + <owl:ObjectProperty rdf:about="#rankDistance0"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan1"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance1 --> + + <owl:ObjectProperty rdf:about="#rankDistance1"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan2"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance2 --> + + <owl:ObjectProperty rdf:about="#rankDistance2"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan3"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance3 --> + + <owl:ObjectProperty rdf:about="#rankDistance3"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan4"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance4 --> + + <owl:ObjectProperty rdf:about="#rankDistance4"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan5"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance5 --> + + <owl:ObjectProperty rdf:about="#rankDistance5"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan6"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance6 --> + + <owl:ObjectProperty rdf:about="#rankDistance6"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan7"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistance7 --> + + <owl:ObjectProperty rdf:about="#rankDistance7"> + <rdf:type rdf:resource="&owl;SymmetricProperty"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan8"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan0 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan0"> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan1"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan1 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan1"> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan2"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan2 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan2"> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan3"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan3 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan3"> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan4"/> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan4 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan4"> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan5"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan5 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan5"> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan6"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan6 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan6"> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan7"/> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan7 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan7"> + <rdfs:domain rdf:resource="#Piece"/> + <rdfs:subPropertyOf rdf:resource="#rankDistanceLessThan8"/> + <rdfs:range rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- http://www.test.de/test#rankDistanceLessThan8 --> + + <owl:ObjectProperty rdf:about="#rankDistanceLessThan8"> + <rdfs:range rdf:resource="#Piece"/> + <rdfs:domain rdf:resource="#Piece"/> + </owl:ObjectProperty> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Classes + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + <!-- http://www.test.de/test#BKing --> + + <owl:Class rdf:about="#BKing"> + <rdfs:subClassOf rdf:resource="#Piece"/> + <owl:disjointWith rdf:resource="#WKing"/> + </owl:Class> + + + + <!-- http://www.test.de/test#Game --> + + <owl:Class rdf:about="#Game"/> + + + + <!-- http://www.test.de/test#ONE --> + + <owl:Class rdf:about="#ONE"/> + + + + <!-- http://www.test.de/test#Piece --> + + <owl:Class rdf:about="#Piece"> + <owl:disjointWith rdf:resource="#Game"/> + </owl:Class> + + + + <!-- http://www.test.de/test#WKing --> + + <owl:Class rdf:about="#WKing"> + <rdfs:subClassOf rdf:resource="#Piece"/> + </owl:Class> + + + + <!-- http://www.test.de/test#WRook --> + + <owl:Class rdf:about="#WRook"> + <rdfs:subClassOf rdf:resource="#Piece"/> + <owl:disjointWith rdf:resource="#BKing"/> + <owl:disjointWith rdf:resource="#WKing"/> + </owl:Class> + + + + <!-- http://www.test.de/test#ZERO --> + + <owl:Class rdf:about="#ZERO"/> + + + + <!-- + /////////////////////////////////////////////////////////////////////////////////////// + // + // Individuals + // + /////////////////////////////////////////////////////////////////////////////////////// + --> + + + + + <!-- http://www.test.de/test#bking_a1_1 --> + + <BKing rdf:about="#bking_a1_1"> + <hasLowerFileThan rdf:resource="#wking_c1_1"/> + <hasLowerRankThan rdf:resource="#wrook_a3_1"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_10 --> + + <BKing rdf:about="#bking_a1_10"> + <hasLowerRankThan rdf:resource="#wrook_a5_10"/> + <hasLowerRankThan rdf:resource="#wking_c2_10"/> + <hasLowerFileThan rdf:resource="#wking_c2_10"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_12 --> + + <BKing rdf:about="#bking_a1_12"> + <hasLowerRankThan rdf:resource="#wrook_a6_12"/> + <hasLowerRankThan rdf:resource="#wking_c2_12"/> + <hasLowerFileThan rdf:resource="#wking_c2_12"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_14 --> + + <BKing rdf:about="#bking_a1_14"> + <hasLowerRankThan rdf:resource="#wrook_a7_14"/> + <hasLowerFileThan rdf:resource="#wking_c2_14"/> + <hasLowerRankThan rdf:resource="#wking_c2_14"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_16 --> + + <BKing rdf:about="#bking_a1_16"> + <hasLowerRankThan rdf:resource="#wking_c2_16"/> + <hasLowerRankThan rdf:resource="#wrook_a8_16"/> + <hasLowerFileThan rdf:resource="#wking_c2_16"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_2 --> + + <BKing rdf:about="#bking_a1_2"> + <hasLowerRankThan rdf:resource="#wrook_a4_2"/> + <hasLowerFileThan rdf:resource="#wking_c1_2"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_3 --> + + <BKing rdf:about="#bking_a1_3"> + <hasLowerRankThan rdf:resource="#wrook_a5_3"/> + <hasLowerFileThan rdf:resource="#wking_c1_3"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_35 --> + + <BKing rdf:about="#bking_a1_35"> + <hasLowerFileThan rdf:resource="#wking_c2_35"/> + <hasLowerRankThan rdf:resource="#wking_c2_35"/> + <hasLowerFileThan rdf:resource="#wrook_b4_35"/> + <hasLowerRankThan rdf:resource="#wrook_b4_35"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_36 --> + + <BKing rdf:about="#bking_a1_36"> + <hasLowerFileThan rdf:resource="#wrook_b5_36"/> + <hasLowerRankThan rdf:resource="#wrook_b5_36"/> + <hasLowerRankThan rdf:resource="#wking_c2_36"/> + <hasLowerFileThan rdf:resource="#wking_c2_36"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_37 --> + + <BKing rdf:about="#bking_a1_37"> + <hasLowerFileThan rdf:resource="#wking_c2_37"/> + <hasLowerRankThan rdf:resource="#wking_c2_37"/> + <hasLowerFileThan rdf:resource="#wrook_b6_37"/> + <hasLowerRankThan rdf:resource="#wrook_b6_37"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_38 --> + + <BKing rdf:about="#bking_a1_38"> + <hasLowerFileThan rdf:resource="#wrook_b7_38"/> + <hasLowerRankThan rdf:resource="#wking_c2_38"/> + <hasLowerRankThan rdf:resource="#wrook_b7_38"/> + <hasLowerFileThan rdf:resource="#wking_c2_38"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_39 --> + + <BKing rdf:about="#bking_a1_39"> + <hasLowerRankThan rdf:resource="#wrook_b8_39"/> + <hasLowerFileThan rdf:resource="#wking_c2_39"/> + <hasLowerRankThan rdf:resource="#wking_c2_39"/> + <hasLowerFileThan rdf:resource="#wrook_b8_39"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_4 --> + + <BKing rdf:about="#bking_a1_4"> + <hasLowerFileThan rdf:resource="#wking_c1_4"/> + <hasLowerRankThan rdf:resource="#wrook_a6_4"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_41 --> + + <BKing rdf:about="#bking_a1_41"> + <hasLowerRankThan rdf:resource="#wking_c2_41"/> + <hasLowerFileThan rdf:resource="#wking_c2_41"/> + <hasLowerFileThan rdf:resource="#wrook_c4_41"/> + <hasLowerRankThan rdf:resource="#wrook_c4_41"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_43 --> + + <BKing rdf:about="#bking_a1_43"> + <hasLowerRankThan rdf:resource="#wking_c2_43"/> + <hasLowerFileThan rdf:resource="#wking_c2_43"/> + <hasLowerFileThan rdf:resource="#wrook_c5_43"/> + <hasLowerRankThan rdf:resource="#wrook_c5_43"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_44 --> + + <BKing rdf:about="#bking_a1_44"> + <hasLowerFileThan rdf:resource="#wking_c2_44"/> + <hasLowerFileThan rdf:resource="#wrook_c6_44"/> + <hasLowerRankThan rdf:resource="#wking_c2_44"/> + <hasLowerRankThan rdf:resource="#wrook_c6_44"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_45 --> + + <BKing rdf:about="#bking_a1_45"> + <hasLowerFileThan rdf:resource="#wking_c2_45"/> + <hasLowerRankThan rdf:resource="#wrook_c7_45"/> + <hasLowerRankThan rdf:resource="#wking_c2_45"/> + <hasLowerFileThan rdf:resource="#wrook_c7_45"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_46 --> + + <BKing rdf:about="#bking_a1_46"> + <hasLowerRankThan rdf:resource="#wrook_c8_46"/> + <hasLowerRankThan rdf:resource="#wking_c2_46"/> + <hasLowerFileThan rdf:resource="#wrook_c8_46"/> + <hasLowerFileThan rdf:resource="#wking_c2_46"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_48 --> + + <BKing rdf:about="#bking_a1_48"> + <hasLowerFileThan rdf:resource="#wrook_d4_48"/> + <hasLowerFileThan rdf:resource="#wking_c2_48"/> + <hasLowerRankThan rdf:resource="#wking_c2_48"/> + <hasLowerRankThan rdf:resource="#wrook_d4_48"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_5 --> + + <BKing rdf:about="#bking_a1_5"> + <hasLowerRankThan rdf:resource="#wrook_a7_5"/> + <hasLowerFileThan rdf:resource="#wking_c1_5"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_50 --> + + <BKing rdf:about="#bking_a1_50"> + <hasLowerRankThan rdf:resource="#wking_c2_50"/> + <hasLowerFileThan rdf:resource="#wking_c2_50"/> + <hasLowerRankThan rdf:resource="#wrook_d5_50"/> + <hasLowerFileThan rdf:resource="#wrook_d5_50"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_51 --> + + <BKing rdf:about="#bking_a1_51"> + <hasLowerRankThan rdf:resource="#wrook_d6_51"/> + <hasLowerFileThan rdf:resource="#wrook_d6_51"/> + <hasLowerRankThan rdf:resource="#wking_c2_51"/> + <hasLowerFileThan rdf:resource="#wking_c2_51"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_52 --> + + <BKing rdf:about="#bking_a1_52"> + <hasLowerFileThan rdf:resource="#wking_c2_52"/> + <hasLowerRankThan rdf:resource="#wking_c2_52"/> + <hasLowerFileThan rdf:resource="#wrook_d7_52"/> + <hasLowerRankThan rdf:resource="#wrook_d7_52"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_53 --> + + <BKing rdf:about="#bking_a1_53"> + <hasLowerFileThan rdf:resource="#wrook_d8_53"/> + <hasLowerFileThan rdf:resource="#wking_c2_53"/> + <hasLowerRankThan rdf:resource="#wrook_d8_53"/> + <hasLowerRankThan rdf:resource="#wking_c2_53"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_55 --> + + <BKing rdf:about="#bking_a1_55"> + <hasLowerRankThan rdf:resource="#wking_c2_55"/> + <hasLowerFileThan rdf:resource="#wrook_e4_55"/> + <hasLowerFileThan rdf:resource="#wking_c2_55"/> + <hasLowerRankThan rdf:resource="#wrook_e4_55"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_57 --> + + <BKing rdf:about="#bking_a1_57"> + <hasLowerRankThan rdf:resource="#wking_c2_57"/> + <hasLowerRankThan rdf:resource="#wrook_e5_57"/> + <hasLowerFileThan rdf:resource="#wking_c2_57"/> + <hasLowerFileThan rdf:resource="#wrook_e5_57"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_58 --> + + <BKing rdf:about="#bking_a1_58"> + <hasLowerFileThan rdf:resource="#wking_c2_58"/> + <hasLowerRankThan rdf:resource="#wrook_e6_58"/> + <hasLowerFileThan rdf:resource="#wrook_e6_58"/> + <hasLowerRankThan rdf:resource="#wking_c2_58"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_59 --> + + <BKing rdf:about="#bking_a1_59"> + <hasLowerRankThan rdf:resource="#wking_c2_59"/> + <hasLowerFileThan rdf:resource="#wrook_e7_59"/> + <hasLowerRankThan rdf:resource="#wrook_e7_59"/> + <hasLowerFileThan rdf:resource="#wking_c2_59"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_6 --> + + <BKing rdf:about="#bking_a1_6"> + <hasLowerFileThan rdf:resource="#wking_c1_6"/> + <hasLowerRankThan rdf:resource="#wrook_a8_6"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_60 --> + + <BKing rdf:about="#bking_a1_60"> + <hasLowerRankThan rdf:resource="#wking_c2_60"/> + <hasLowerRankThan rdf:resource="#wrook_e8_60"/> + <hasLowerFileThan rdf:resource="#wrook_e8_60"/> + <hasLowerFileThan rdf:resource="#wking_c2_60"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_62 --> + + <BKing rdf:about="#bking_a1_62"> + <hasLowerRankThan rdf:resource="#wking_c2_62"/> + <hasLowerRankThan rdf:resource="#wrook_f4_62"/> + <hasLowerFileThan rdf:resource="#wrook_f4_62"/> + <hasLowerFileThan rdf:resource="#wking_c2_62"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_64 --> + + <BKing rdf:about="#bking_a1_64"> + <hasLowerRankThan rdf:resource="#wrook_f5_64"/> + <hasLowerRankThan rdf:resource="#wking_c2_64"/> + <hasLowerFileThan rdf:resource="#wking_c2_64"/> + <hasLowerFileThan rdf:resource="#wrook_f5_64"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_65 --> + + <BKing rdf:about="#bking_a1_65"> + <hasLowerFileThan rdf:resource="#wrook_f6_65"/> + <hasLowerRankThan rdf:resource="#wrook_f6_65"/> + <hasLowerRankThan rdf:resource="#wking_c2_65"/> + <hasLowerFileThan rdf:resource="#wking_c2_65"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_66 --> + + <BKing rdf:about="#bking_a1_66"> + <hasLowerRankThan rdf:resource="#wrook_f7_66"/> + <hasLowerRankThan rdf:resource="#wking_c2_66"/> + <hasLowerFileThan rdf:resource="#wking_c2_66"/> + <hasLowerFileThan rdf:resource="#wrook_f7_66"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_67 --> + + <BKing rdf:about="#bking_a1_67"> + <hasLowerRankThan rdf:resource="#wking_c2_67"/> + <hasLowerFileThan rdf:resource="#wking_c2_67"/> + <hasLowerFileThan rdf:resource="#wrook_f8_67"/> + <hasLowerRankThan rdf:resource="#wrook_f8_67"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_69 --> + + <BKing rdf:about="#bking_a1_69"> + <hasLowerFileThan rdf:resource="#wrook_g4_69"/> + <hasLowerRankThan rdf:resource="#wking_c2_69"/> + <hasLowerFileThan rdf:resource="#wking_c2_69"/> + <hasLowerRankThan rdf:resource="#wrook_g4_69"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_7 --> + + <BKing rdf:about="#bking_a1_7"> + <hasLowerRankThan rdf:resource="#wrook_a3_7"/> + <hasLowerRankThan rdf:resource="#wking_c2_7"/> + <hasLowerFileThan rdf:resource="#wking_c2_7"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_71 --> + + <BKing rdf:about="#bking_a1_71"> + <hasLowerFileThan rdf:resource="#wking_c2_71"/> + <hasLowerRankThan rdf:resource="#wrook_g5_71"/> + <hasLowerRankThan rdf:resource="#wking_c2_71"/> + <hasLowerFileThan rdf:resource="#wrook_g5_71"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_72 --> + + <BKing rdf:about="#bking_a1_72"> + <hasLowerRankThan rdf:resource="#wrook_g6_72"/> + <hasLowerFileThan rdf:resource="#wking_c2_72"/> + <hasLowerRankThan rdf:resource="#wking_c2_72"/> + <hasLowerFileThan rdf:resource="#wrook_g6_72"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_73 --> + + <BKing rdf:about="#bking_a1_73"> + <hasLowerRankThan rdf:resource="#wking_c2_73"/> + <hasLowerRankThan rdf:resource="#wrook_g7_73"/> + <hasLowerFileThan rdf:resource="#wrook_g7_73"/> + <hasLowerFileThan rdf:resource="#wking_c2_73"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_74 --> + + <BKing rdf:about="#bking_a1_74"> + <hasLowerRankThan rdf:resource="#wrook_g8_74"/> + <hasLowerRankThan rdf:resource="#wking_c2_74"/> + <hasLowerFileThan rdf:resource="#wrook_g8_74"/> + <hasLowerFileThan rdf:resource="#wking_c2_74"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_76 --> + + <BKing rdf:about="#bking_a1_76"> + <hasLowerRankThan rdf:resource="#wrook_h4_76"/> + <hasLowerFileThan rdf:resource="#wking_c2_76"/> + <hasLowerFileThan rdf:resource="#wrook_h4_76"/> + <hasLowerRankThan rdf:resource="#wking_c2_76"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_78 --> + + <BKing rdf:about="#bking_a1_78"> + <hasLowerFileThan rdf:resource="#wrook_h5_78"/> + <hasLowerRankThan rdf:resource="#wrook_h5_78"/> + <hasLowerFileThan rdf:resource="#wking_c2_78"/> + <hasLowerRankThan rdf:resource="#wking_c2_78"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_79 --> + + <BKing rdf:about="#bking_a1_79"> + <hasLowerFileThan rdf:resource="#wking_c2_79"/> + <hasLowerRankThan rdf:resource="#wking_c2_79"/> + <hasLowerRankThan rdf:resource="#wrook_h6_79"/> + <hasLowerFileThan rdf:resource="#wrook_h6_79"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_8 --> + + <BKing rdf:about="#bking_a1_8"> + <hasLowerFileThan rdf:resource="#wking_c2_8"/> + <hasLowerRankThan rdf:resource="#wking_c2_8"/> + <hasLowerRankThan rdf:resource="#wrook_a4_8"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_80 --> + + <BKing rdf:about="#bking_a1_80"> + <hasLowerFileThan rdf:resource="#wrook_h7_80"/> + <hasLowerRankThan rdf:resource="#wking_c2_80"/> + <hasLowerFileThan rdf:resource="#wking_c2_80"/> + <hasLowerRankThan rdf:resource="#wrook_h7_80"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a1_81 --> + + <BKing rdf:about="#bking_a1_81"> + <hasLowerRankThan rdf:resource="#wking_c2_81"/> + <hasLowerRankThan rdf:resource="#wrook_h8_81"/> + <hasLowerFileThan rdf:resource="#wking_c2_81"/> + <hasLowerFileThan rdf:resource="#wrook_h8_81"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_11 --> + + <BKing rdf:about="#bking_a2_11"> + <hasLowerRankThan rdf:resource="#wrook_a5_11"/> + <hasLowerFileThan rdf:resource="#wking_c2_11"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_13 --> + + <BKing rdf:about="#bking_a2_13"> + <hasLowerFileThan rdf:resource="#wking_c2_13"/> + <hasLowerRankThan rdf:resource="#wrook_a6_13"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_15 --> + + <BKing rdf:about="#bking_a2_15"> + <hasLowerRankThan rdf:resource="#wrook_a7_15"/> + <hasLowerFileThan rdf:resource="#wking_c2_15"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_17 --> + + <BKing rdf:about="#bking_a2_17"> + <hasLowerRankThan rdf:resource="#wrook_a8_17"/> + <hasLowerFileThan rdf:resource="#wking_c2_17"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_28 --> + + <BKing rdf:about="#bking_a2_28"> + <hasLowerFileThan rdf:resource="#wking_c1_28"/> + <hasLowerFileThan rdf:resource="#wrook_c3_28"/> + <hasLowerRankThan rdf:resource="#wrook_c3_28"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_29 --> + + <BKing rdf:about="#bking_a2_29"> + <hasLowerFileThan rdf:resource="#wking_c1_29"/> + <hasLowerRankThan rdf:resource="#wrook_d3_29"/> + <hasLowerFileThan rdf:resource="#wrook_d3_29"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_30 --> + + <BKing rdf:about="#bking_a2_30"> + <hasLowerRankThan rdf:resource="#wrook_e3_30"/> + <hasLowerFileThan rdf:resource="#wrook_e3_30"/> + <hasLowerFileThan rdf:resource="#wking_c1_30"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_31 --> + + <BKing rdf:about="#bking_a2_31"> + <hasLowerFileThan rdf:resource="#wking_c1_31"/> + <hasLowerRankThan rdf:resource="#wrook_f3_31"/> + <hasLowerFileThan rdf:resource="#wrook_f3_31"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_32 --> + + <BKing rdf:about="#bking_a2_32"> + <hasLowerRankThan rdf:resource="#wrook_g3_32"/> + <hasLowerFileThan rdf:resource="#wking_c1_32"/> + <hasLowerFileThan rdf:resource="#wrook_g3_32"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_33 --> + + <BKing rdf:about="#bking_a2_33"> + <hasLowerFileThan rdf:resource="#wrook_h3_33"/> + <hasLowerRankThan rdf:resource="#wrook_h3_33"/> + <hasLowerFileThan rdf:resource="#wking_c1_33"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_34 --> + + <BKing rdf:about="#bking_a2_34"> + <hasLowerFileThan rdf:resource="#wking_c2_34"/> + <hasLowerFileThan rdf:resource="#wrook_b3_34"/> + <hasLowerRankThan rdf:resource="#wrook_b3_34"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_40 --> + + <BKing rdf:about="#bking_a2_40"> + <hasLowerFileThan rdf:resource="#wking_c2_40"/> + <hasLowerRankThan rdf:resource="#wrook_c3_40"/> + <hasLowerFileThan rdf:resource="#wrook_c3_40"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_47 --> + + <BKing rdf:about="#bking_a2_47"> + <hasLowerRankThan rdf:resource="#wrook_d3_47"/> + <hasLowerFileThan rdf:resource="#wrook_d3_47"/> + <hasLowerFileThan rdf:resource="#wking_c2_47"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_54 --> + + <BKing rdf:about="#bking_a2_54"> + <hasLowerFileThan rdf:resource="#wrook_e3_54"/> + <hasLowerFileThan rdf:resource="#wking_c2_54"/> + <hasLowerRankThan rdf:resource="#wrook_e3_54"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_61 --> + + <BKing rdf:about="#bking_a2_61"> + <hasLowerRankThan rdf:resource="#wrook_f3_61"/> + <hasLowerFileThan rdf:resource="#wrook_f3_61"/> + <hasLowerFileThan rdf:resource="#wking_c2_61"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_68 --> + + <BKing rdf:about="#bking_a2_68"> + <hasLowerFileThan rdf:resource="#wrook_g3_68"/> + <hasLowerRankThan rdf:resource="#wrook_g3_68"/> + <hasLowerFileThan rdf:resource="#wking_c2_68"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_75 --> + + <BKing rdf:about="#bking_a2_75"> + <hasLowerRankThan rdf:resource="#wrook_h3_75"/> + <hasLowerFileThan rdf:resource="#wking_c2_75"/> + <hasLowerFileThan rdf:resource="#wrook_h3_75"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a2_9 --> + + <BKing rdf:about="#bking_a2_9"> + <hasLowerFileThan rdf:resource="#wking_c2_9"/> + <hasLowerRankThan rdf:resource="#wrook_a4_9"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a3_42 --> + + <BKing rdf:about="#bking_a3_42"> + <hasLowerFileThan rdf:resource="#wking_c2_42"/> + <hasLowerRankThan rdf:resource="#wrook_c4_42"/> + <hasLowerFileThan rdf:resource="#wrook_c4_42"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a3_49 --> + + <BKing rdf:about="#bking_a3_49"> + <hasLowerFileThan rdf:resource="#wrook_d4_49"/> + <hasLowerRankThan rdf:resource="#wrook_d4_49"/> + <hasLowerFileThan rdf:resource="#wking_c2_49"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a3_56 --> + + <BKing rdf:about="#bking_a3_56"> + <hasLowerRankThan rdf:resource="#wrook_e4_56"/> + <hasLowerFileThan rdf:resource="#wking_c2_56"/> + <hasLowerFileThan rdf:resource="#wrook_e4_56"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a3_63 --> + + <BKing rdf:about="#bking_a3_63"> + <hasLowerFileThan rdf:resource="#wking_c2_63"/> + <hasLowerFileThan rdf:resource="#wrook_f4_63"/> + <hasLowerRankThan rdf:resource="#wrook_f4_63"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a3_70 --> + + <BKing rdf:about="#bking_a3_70"> + <hasLowerFileThan rdf:resource="#wrook_g4_70"/> + <hasLowerFileThan rdf:resource="#wking_c2_70"/> + <hasLowerRankThan rdf:resource="#wrook_g4_70"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_a3_77 --> + + <BKing rdf:about="#bking_a3_77"> + <hasLowerRankThan rdf:resource="#wrook_h4_77"/> + <hasLowerFileThan rdf:resource="#wrook_h4_77"/> + <hasLowerFileThan rdf:resource="#wking_c2_77"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_b1_82 --> + + <BKing rdf:about="#bking_b1_82"> + <hasLowerRankThan rdf:resource="#wking_c3_82"/> + <hasLowerFileThan rdf:resource="#wking_c3_82"/> + <hasLowerRankThan rdf:resource="#wrook_a3_82"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_b1_83 --> + + <BKing rdf:about="#bking_b1_83"> + <hasLowerRankThan rdf:resource="#wking_c3_83"/> + <hasLowerRankThan rdf:resource="#wrook_a4_83"/> + <hasLowerFileThan rdf:resource="#wking_c3_83"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_b1_84 --> + + <BKing rdf:about="#bking_b1_84"> + <hasLowerRankThan rdf:resource="#wrook_a5_84"/> + <hasLowerRankThan rdf:resource="#wking_c3_84"/> + <hasLowerFileThan rdf:resource="#wking_c3_84"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_b1_85 --> + + <BKing rdf:about="#bking_b1_85"> + <hasLowerRankThan rdf:resource="#wking_c3_85"/> + <hasLowerFileThan rdf:resource="#wking_c3_85"/> + <hasLowerRankThan rdf:resource="#wrook_a6_85"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_b1_86 --> + + <BKing rdf:about="#bking_b1_86"> + <hasLowerRankThan rdf:resource="#wking_c3_86"/> + <hasLowerRankThan rdf:resource="#wrook_a7_86"/> + <hasLowerFileThan rdf:resource="#wking_c3_86"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_b1_87 --> + + <BKing rdf:about="#bking_b1_87"> + <hasLowerRankThan rdf:resource="#wking_c3_87"/> + <hasLowerRankThan rdf:resource="#wrook_a8_87"/> + <hasLowerFileThan rdf:resource="#wking_c3_87"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_18 --> + + <BKing rdf:about="#bking_c1_18"> + <hasLowerRankThan rdf:resource="#wking_c3_18"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_19 --> + + <BKing rdf:about="#bking_c1_19"> + <hasLowerFileThan rdf:resource="#wrook_e1_19"/> + <hasLowerRankThan rdf:resource="#wking_c3_19"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_20 --> + + <BKing rdf:about="#bking_c1_20"> + <hasLowerRankThan rdf:resource="#wking_c3_20"/> + <hasLowerFileThan rdf:resource="#wrook_f1_20"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_21 --> + + <BKing rdf:about="#bking_c1_21"> + <hasLowerFileThan rdf:resource="#wrook_g1_21"/> + <hasLowerRankThan rdf:resource="#wking_c3_21"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_22 --> + + <BKing rdf:about="#bking_c1_22"> + <hasLowerFileThan rdf:resource="#wrook_h1_22"/> + <hasLowerRankThan rdf:resource="#wking_c3_22"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_94 --> + + <BKing rdf:about="#bking_c1_94"> + <hasLowerFileThan rdf:resource="#wking_d3_94"/> + <hasLowerRankThan rdf:resource="#wking_d3_94"/> + <hasLowerRankThan rdf:resource="#wrook_b3_94"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_95 --> + + <BKing rdf:about="#bking_c1_95"> + <hasLowerFileThan rdf:resource="#wking_d3_95"/> + <hasLowerRankThan rdf:resource="#wrook_b4_95"/> + <hasLowerRankThan rdf:resource="#wking_d3_95"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_96 --> + + <BKing rdf:about="#bking_c1_96"> + <hasLowerRankThan rdf:resource="#wking_d3_96"/> + <hasLowerFileThan rdf:resource="#wking_d3_96"/> + <hasLowerRankThan rdf:resource="#wrook_b5_96"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_97 --> + + <BKing rdf:about="#bking_c1_97"> + <hasLowerRankThan rdf:resource="#wrook_b6_97"/> + <hasLowerFileThan rdf:resource="#wking_d3_97"/> + <hasLowerRankThan rdf:resource="#wking_d3_97"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_98 --> + + <BKing rdf:about="#bking_c1_98"> + <hasLowerRankThan rdf:resource="#wrook_b7_98"/> + <hasLowerFileThan rdf:resource="#wking_d3_98"/> + <hasLowerRankThan rdf:resource="#wking_d3_98"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_c1_99 --> + + <BKing rdf:about="#bking_c1_99"> + <hasLowerRankThan rdf:resource="#wrook_b8_99"/> + <hasLowerRankThan rdf:resource="#wking_d3_99"/> + <hasLowerFileThan rdf:resource="#wking_d3_99"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_23 --> + + <BKing rdf:about="#bking_d1_23"> + <hasLowerRankThan rdf:resource="#wking_d3_23"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_24 --> + + <BKing rdf:about="#bking_d1_24"> + <hasLowerRankThan rdf:resource="#wking_d3_24"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_25 --> + + <BKing rdf:about="#bking_d1_25"> + <hasLowerFileThan rdf:resource="#wrook_f1_25"/> + <hasLowerRankThan rdf:resource="#wking_d3_25"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_26 --> + + <BKing rdf:about="#bking_d1_26"> + <hasLowerFileThan rdf:resource="#wrook_g1_26"/> + <hasLowerRankThan rdf:resource="#wking_d3_26"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_27 --> + + <BKing rdf:about="#bking_d1_27"> + <hasLowerFileThan rdf:resource="#wrook_h1_27"/> + <hasLowerRankThan rdf:resource="#wking_d3_27"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_88 --> + + <BKing rdf:about="#bking_d1_88"> + <hasLowerRankThan rdf:resource="#wrook_e3_88"/> + <hasLowerRankThan rdf:resource="#wking_c3_88"/> + <hasLowerFileThan rdf:resource="#wrook_e3_88"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_89 --> + + <BKing rdf:about="#bking_d1_89"> + <hasLowerRankThan rdf:resource="#wking_c3_89"/> + <hasLowerRankThan rdf:resource="#wrook_e4_89"/> + <hasLowerFileThan rdf:resource="#wrook_e4_89"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_90 --> + + <BKing rdf:about="#bking_d1_90"> + <hasLowerFileThan rdf:resource="#wrook_e5_90"/> + <hasLowerRankThan rdf:resource="#wking_c3_90"/> + <hasLowerRankThan rdf:resource="#wrook_e5_90"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_91 --> + + <BKing rdf:about="#bking_d1_91"> + <hasLowerRankThan rdf:resource="#wrook_e6_91"/> + <hasLowerRankThan rdf:resource="#wking_c3_91"/> + <hasLowerFileThan rdf:resource="#wrook_e6_91"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_92 --> + + <BKing rdf:about="#bking_d1_92"> + <hasLowerRankThan rdf:resource="#wrook_e7_92"/> + <hasLowerRankThan rdf:resource="#wking_c3_92"/> + <hasLowerFileThan rdf:resource="#wrook_e7_92"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_d1_93 --> + + <BKing rdf:about="#bking_d1_93"> + <hasLowerRankThan rdf:resource="#wking_c3_93"/> + <hasLowerRankThan rdf:resource="#wrook_e8_93"/> + <hasLowerFileThan rdf:resource="#wrook_e8_93"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_e1_100 --> + + <BKing rdf:about="#bking_e1_100"> + <hasLowerRankThan rdf:resource="#wking_d3_100"/> + <hasLowerRankThan rdf:resource="#wrook_f3_100"/> + <hasLowerFileThan rdf:resource="#wrook_f3_100"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_e1_101 --> + + <BKing rdf:about="#bking_e1_101"> + <hasLowerRankThan rdf:resource="#wking_d3_101"/> + <hasLowerFileThan rdf:resource="#wrook_f4_101"/> + <hasLowerRankThan rdf:resource="#wrook_f4_101"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_e1_102 --> + + <BKing rdf:about="#bking_e1_102"> + <hasLowerFileThan rdf:resource="#wrook_f5_102"/> + <hasLowerRankThan rdf:resource="#wking_d3_102"/> + <hasLowerRankThan rdf:resource="#wrook_f5_102"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_e1_103 --> + + <BKing rdf:about="#bking_e1_103"> + <hasLowerRankThan rdf:resource="#wking_d3_103"/> + <hasLowerFileThan rdf:resource="#wrook_f6_103"/> + <hasLowerRankThan rdf:resource="#wrook_f6_103"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_e1_104 --> + + <BKing rdf:about="#bking_e1_104"> + <hasLowerRankThan rdf:resource="#wrook_f7_104"/> + <hasLowerFileThan rdf:resource="#wrook_f7_104"/> + <hasLowerRankThan rdf:resource="#wking_d3_104"/> + </BKing> + + + + <!-- http://www.test.de/test#bking_e1_105 --> + + <BKing rdf:about="#bking_e1_105"> + <hasLowerRankThan rdf:resource="#wking_d3_105"/> + <hasLowerRankThan rdf:resource="#wrook_f8_105"/> + <hasLowerFileThan rdf:resource="#wrook_f8_105"/> + </BKing> + + + + <!-- http://www.test.de/test#game1 --> + + <ZERO rdf:about="#game1"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wking_c1_1"/> + <hasPiece rdf:resource="#wrook_a3_1"/> + <hasPiece rdf:resource="#bking_a1_1"/> + </ZERO> + + + + <!-- http://www.test.de/test#game10 --> + + <ZERO rdf:about="#game10"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wrook_a5_10"/> + <hasPiece rdf:resource="#bking_a1_10"/> + <hasPiece rdf:resource="#wking_c2_10"/> + </ZERO> + + + + <!-- http://www.test.de/test#game100 --> + + <Game rdf:about="#game100"> + <rdf:type rdf:resource="#ONE"/> + <hasPiece rdf:resource="#wking_d3_100"/> + <hasPiece rdf:resource="#wrook_f3_100"/> + <hasPiece rdf:resource="#bking_e1_100"/> + </Game> + + + + <!-- http://www.test.de/test#game101 --> + + <Game rdf:about="#game101"> + <rdf:type rdf:resource="#ONE"/> + <hasPiece rdf:resource="#wrook_f4_101"/> + <hasPiece rdf:resource="#bking_e1_101"/> + <hasPiece rdf:resource="#wking_d3_101"/> + </Game> + + + + <!-- http://www.test.de/test#game102 --> + + <Game rdf:about="#game102"> + <rdf:type rdf:resource="#ONE"/> + <hasPiece rdf:resource="#wking_d3_102"/> + <hasPiece rdf:resource="#bking_e1_102"/> + <hasPiece rdf:resource="#wrook_f5_102"/> + </Game> + + + + <!-- http://www.test.de/test#game103 --> + + <Game rdf:about="#game103"> + <rdf:type rdf:resource="#ONE"/> + <hasPiece rdf:resource="#bking_e1_103"/> + <hasPiece rdf:resource="#wking_d3_103"/> + <hasPiece rdf:resource="#wrook_f6_103"/> + </Game> + + + + <!-- http://www.test.de/test#game104 --> + + <ONE rdf:about="#game104"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wrook_f7_104"/> + <hasPiece rdf:resource="#wking_d3_104"/> + <hasPiece rdf:resource="#bking_e1_104"/> + </ONE> + + + + <!-- http://www.test.de/test#game105 --> + + <Game rdf:about="#game105"> + <rdf:type rdf:resource="#ONE"/> + <hasPiece rdf:resource="#wking_d3_105"/> + <hasPiece rdf:resource="#bking_e1_105"/> + <hasPiece rdf:resource="#wrook_f8_105"/> + </Game> + + + + <!-- http://www.test.de/test#game11 --> + + <ZERO rdf:about="#game11"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#bking_a2_11"/> + <hasPiece rdf:resource="#wking_c2_11"/> + <hasPiece rdf:resource="#wrook_a5_11"/> + </ZERO> + + + + <!-- http://www.test.de/test#game12 --> + + <Game rdf:about="#game12"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#bking_a1_12"/> + <hasPiece rdf:resource="#wking_c2_12"/> + <hasPiece rdf:resource="#wrook_a6_12"/> + </Game> + + + + <!-- http://www.test.de/test#game13 --> + + <ZERO rdf:about="#game13"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#bking_a2_13"/> + <hasPiece rdf:resource="#wrook_a6_13"/> + <hasPiece rdf:resource="#wking_c2_13"/> + </ZERO> + + + + <!-- http://www.test.de/test#game14 --> + + <ZERO rdf:about="#game14"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#bking_a1_14"/> + <hasPiece rdf:resource="#wrook_a7_14"/> + <hasPiece rdf:resource="#wking_c2_14"/> + </ZERO> + + + + <!-- http://www.test.de/test#game15 --> + + <ZERO rdf:about="#game15"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#bking_a2_15"/> + <hasPiece rdf:resource="#wrook_a7_15"/> + <hasPiece rdf:resource="#wking_c2_15"/> + </ZERO> + + + + <!-- http://www.test.de/test#game16 --> + + <ZERO rdf:about="#game16"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wking_c2_16"/> + <hasPiece rdf:resource="#bking_a1_16"/> + <hasPiece rdf:resource="#wrook_a8_16"/> + </ZERO> + + + + <!-- http://www.test.de/test#game17 --> + + <Game rdf:about="#game17"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wking_c2_17"/> + <hasPiece rdf:resource="#bking_a2_17"/> + <hasPiece rdf:resource="#wrook_a8_17"/> + </Game> + + + + <!-- http://www.test.de/test#game18 --> + + <Game rdf:about="#game18"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#bking_c1_18"/> + <hasPiece rdf:resource="#wking_c3_18"/> + <hasPiece rdf:resource="#wrook_a1_18"/> + </Game> + + + + <!-- http://www.test.de/test#game19 --> + + <Game rdf:about="#game19"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wking_c3_19"/> + <hasPiece rdf:resource="#bking_c1_19"/> + <hasPiece rdf:resource="#wrook_e1_19"/> + </Game> + + + + <!-- http://www.test.de/test#game2 --> + + <Game rdf:about="#game2"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wking_c1_2"/> + <hasPiece rdf:resource="#bking_a1_2"/> + <hasPiece rdf:resource="#wrook_a4_2"/> + </Game> + + + + <!-- http://www.test.de/test#game20 --> + + <Game rdf:about="#game20"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wrook_f1_20"/> + <hasPiece rdf:resource="#wking_c3_20"/> + <hasPiece rdf:resource="#bking_c1_20"/> + </Game> + + + + <!-- http://www.test.de/test#game21 --> + + <Game rdf:about="#game21"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wking_c3_21"/> + <hasPiece rdf:resource="#bking_c1_21"/> + <hasPiece rdf:resource="#wrook_g1_21"/> + </Game> + + + + <!-- http://www.test.de/test#game22 --> + + <Game rdf:about="#game22"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wking_c3_22"/> + <hasPiece rdf:resource="#wrook_h1_22"/> + <hasPiece rdf:resource="#bking_c1_22"/> + </Game> + + + + <!-- http://www.test.de/test#game23 --> + + <Game rdf:about="#game23"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#bking_d1_23"/> + <hasPiece rdf:resource="#wking_d3_23"/> + <hasPiece rdf:resource="#wrook_a1_23"/> + </Game> + + + + <!-- http://www.test.de/test#game24 --> + + <ZERO rdf:about="#game24"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wrook_b1_24"/> + <hasPiece rdf:resource="#bking_d1_24"/> + <hasPiece rdf:resource="#wking_d3_24"/> + </ZERO> + + + + <!-- http://www.test.de/test#game25 --> + + <ZERO rdf:about="#game25"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#bking_d1_25"/> + <hasPiece rdf:resource="#wrook_f1_25"/> + <hasPiece rdf:resource="#wking_d3_25"/> + </ZERO> + + + + <!-- http://www.test.de/test#game26 --> + + <Game rdf:about="#game26"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#bking_d1_26"/> + <hasPiece rdf:resource="#wking_d3_26"/> + <hasPiece rdf:resource="#wrook_g1_26"/> + </Game> + + + + <!-- http://www.test.de/test#game27 --> + + <ZERO rdf:about="#game27"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wrook_h1_27"/> + <hasPiece rdf:resource="#bking_d1_27"/> + <hasPiece rdf:resource="#wking_d3_27"/> + </ZERO> + + + + <!-- http://www.test.de/test#game28 --> + + <ONE rdf:about="#game28"> + <rdf:type rdf:resource="#Game"/> + <hasPiece rdf:resource="#wking_c1_28"/> + <hasPiece rdf:resource="#wrook_c3_28"/> + <hasPiece rdf:resource="#bking_a2_28"/> + </ONE> + + + + <!-- http://www.test.de/test#game29 --> + + <Game rdf:about="#game29"> + <rdf:type rdf:resource="#ONE"/> + <hasPiece rdf:resource="#wking_c1_29"/> + <hasPiece rdf:resource="#wrook_d3_29"/> + <hasPiece rdf:resource="#bking_a2_29"/> + </Game> + + + + <!-- http://www.test.de/test#game3 --> + + <Game rdf:about="#game3"> + <rdf:type rdf:resource="#ZERO"/> + <hasPiece rdf:resource="#wrook_a5_3"/> + <hasPiece rdf:resource="#bking_a1_3"/> + ... [truncated message content] |
From: <ku...@us...> - 2008-04-07 10:07:48
|
Revision: 772 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=772&view=rev Author: kurzum Date: 2008-04-07 03:07:41 -0700 (Mon, 07 Apr 2008) Log Message: ----------- more comments Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java Modified: trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java 2008-04-07 09:22:24 UTC (rev 771) +++ trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java 2008-04-07 10:07:41 UTC (rev 772) @@ -52,6 +52,22 @@ this.rs = new ReasoningService(owlapi); } + + public void updateReasoner() { + SimpleClock sc = new SimpleClock(); + sc.printAndSet(); + this.kbFile = new KBFile(this.kb); + Set<KnowledgeSource> ks = new HashSet<KnowledgeSource>(); + ks.add(this.kbFile); + + sc.printAndSet("updating reasoner"); + OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); + sc.printAndSet("init"); + owlapi.init(); + sc.printAndSet(); + this.rs = new ReasoningService(owlapi); + + } /** * counts the number of roles used by each individual and assigns @@ -156,7 +172,7 @@ // indToRestr.put(oneInd,) //make Description Description d = new NamedClass(oneRole+"Exact"+fillers.size()+"gen"); - d.addChild(oecr); + //d.addChild(oecr); kb.addTBoxAxiom(new EquivalentClassesAxiom(d,oecr)); //System.out.println(d.toManchesterSyntaxString("", new HashMap<String, String>())); kb.addABoxAxiom(new ClassAssertionAxiom(d,oneInd)); Modified: trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java 2008-04-07 09:22:24 UTC (rev 771) +++ trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java 2008-04-07 10:07:41 UTC (rev 772) @@ -28,194 +28,161 @@ import uk.ac.manchester.cs.owl.OWLObjectIntersectionOfImpl; public class OntologyCloserOWLAPI { - + OWLOntology onto; OWLAPIReasoner reasoner; - //Set<KnowledgeSource> ks; ReasoningService rs; - HashMap<Individual,Set<OWLObjectExactCardinalityRestrictionImpl>> indToRestr; + HashMap<Individual, Set<OWLObjectExactCardinalityRestrictionImpl>> indToRestr; OWLDataFactory factory; - OWLOntologyManager manager; + OWLOntologyManager manager; public int numberOfStatementsChanged = 0; - + public OntologyCloserOWLAPI(OWLAPIReasoner reasoner) { - //this.onto = reasoner.getOWLAPIOntologies().get(0); this.reasoner = reasoner; - this.indToRestr = new HashMap<Individual,Set<OWLObjectExactCardinalityRestrictionImpl>> (); + this.indToRestr = new HashMap<Individual, Set<OWLObjectExactCardinalityRestrictionImpl>>(); this.rs = new ReasoningService(reasoner); this.manager = OWLManager.createOWLOntologyManager(); this.factory = manager.getOWLDataFactory(); - this.onto = reasoner.getOWLAPIOntologies().get(0); - //URI ontologyURI = URI.create(reasoner.getBaseURI()); - //URI physicalURI = URI.create(owlFile); - //SimpleURIMapper mapper = new SimpleURIMapper(ontologyURI, physicalURI); - //manager.addURIMapper(mapper); - /*try{ - this.onto = manager.loadOntologyFromPhysicalURI(physicalURI); - }catch (Exception e) {e.printStackTrace();} - //manager.getOntologies().add(this.onto); - System.out.println(manager.getOntologies()); - System.out.println(this.onto);*/ - //reasoner = new org.mindswap.pellet.owlapi.Reasoner(manager); - //System.out.println(this.rs.getAtomicConcepts()); - } - /** * counts the number of roles used by each individual and assigns - * ExactCardinalityRestriction + * ExactCardinalityRestriction to Individuals */ public void applyNumberRestrictions() { - System.out.println("applyNRES"); + System.out.println("apply ExactCardinalityRestriction to Individuals"); Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); - System.out.println("found: "+allRoles.size()+" roles"); - // Set<Individual> allind = this.rs.getIndividuals(); - //testForTransitiveProperties(true); + System.out.println("found: " + allRoles.size() + " roles"); + testForTransitiveProperties(true); - - for (ObjectProperty oneRole : allRoles) { - // System.out.println(oneRole.getClass()); Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs .getRoleMembers(oneRole); for (Individual oneInd : allRoleMembers.keySet()) { SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + // only where roles exist if (fillers.size() > 0) { - OWLObjectExactCardinalityRestrictionImpl oecr = - new OWLObjectExactCardinalityRestrictionImpl( - factory, - factory.getOWLObjectProperty(URI.create(oneRole.getName())), - fillers.size(), - factory.getOWLThing() - ); - //System.out.println(oneRole.getName()+"||"+fillers.size()+"||"+oneInd); - /*ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( - fillers.size(), oneRole, new Thing());*/ - //kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); - OWLAxiom axiom = factory.getOWLClassAssertionAxiom( - factory.getOWLIndividual(URI.create(oneInd.getName())) - , oecr); + OWLObjectExactCardinalityRestrictionImpl oecr = new OWLObjectExactCardinalityRestrictionImpl( + factory, factory.getOWLObjectProperty(URI + .create(oneRole.getName())), + fillers.size(), factory.getOWLThing()); + + OWLAxiom axiom = factory.getOWLClassAssertionAxiom(factory + .getOWLIndividual(URI.create(oneInd.getName())), + oecr); AddAxiom addAxiom = new AddAxiom(this.onto, axiom); - try{ - manager.applyChange(addAxiom); - }catch (Exception e) {e.printStackTrace();} + try { + // add change + manager.applyChange(addAxiom); + } catch (Exception e) { + e.printStackTrace(); + } } } } - // System.out.println("good ontology? " + rs.isSatisfiable()); } - + /** * counts the number of roles used by each individual and assigns - * ExactCardinalityRestriction + * ExactCardinalityRestriction, but uses only one Intersection: role1 + * exactly 1 and role2 exactly 2 and .... + * */ public void applyNumberRestrictionsConcise() { - + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); - // Set<Individual> allind = this.rs.getIndividuals(); - // testForTransitiveProperties(true); + testForTransitiveProperties(true); + // collect info for roles and individuals for (ObjectProperty oneRole : allRoles) { - - // System.out.println(oneRole.getClass()); Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs .getRoleMembers(oneRole); for (Individual oneInd : allRoleMembers.keySet()) { SortedSet<Individual> fillers = allRoleMembers.get(oneInd); if (fillers.size() > 0) { - OWLObjectExactCardinalityRestrictionImpl oecr = - new OWLObjectExactCardinalityRestrictionImpl( - factory, - factory.getOWLObjectProperty(URI.create(oneRole.getName())), - fillers.size(), - factory.getOWLThing() - ); - //indToRestr.put(oneInd,) - + OWLObjectExactCardinalityRestrictionImpl oecr = new OWLObjectExactCardinalityRestrictionImpl( + factory, factory.getOWLObjectProperty(URI + .create(oneRole.getName())), + fillers.size(), factory.getOWLThing()); collectExObjRestrForInd(oneInd, oecr); } } - - // + }// end for - }//end for - - //Intersection intersection = null; Set<OWLDescription> target = new HashSet<OWLDescription>(); Set<OWLObjectExactCardinalityRestrictionImpl> s = null; - + for (Individual oneInd : indToRestr.keySet()) { s = indToRestr.get(oneInd); for (OWLObjectExactCardinalityRestrictionImpl oecr : s) { target.add(oecr); } - OWLObjectIntersectionOfImpl intersection = - new OWLObjectIntersectionOfImpl(this.factory,target); - //kb.addABoxAxiom(new ClassAssertionAxiom(new OWLIntersection(ll), oneInd)); - - + // collect everything in an intersection + OWLObjectIntersectionOfImpl intersection = new OWLObjectIntersectionOfImpl( + this.factory, target); s = null; - target = new HashSet<OWLDescription>(); - - OWLAxiom axiom = factory.getOWLClassAssertionAxiom( - factory.getOWLIndividual(URI.create(oneInd.getName())) - , intersection); + target = new HashSet<OWLDescription>(); + + OWLAxiom axiom = factory.getOWLClassAssertionAxiom(factory + .getOWLIndividual(URI.create(oneInd.getName())), + intersection); AddAxiom addAxiom = new AddAxiom(this.onto, axiom); - try{ - manager.applyChange(addAxiom); - numberOfStatementsChanged++; - }catch (Exception e) {e.printStackTrace();} - - }//end for - - - - // - - // System.out.println("good ontology? " + rs.isSatisfiable()); + try { + manager.applyChange(addAxiom); + numberOfStatementsChanged++; + } catch (Exception e) { + e.printStackTrace(); + } + }// end for } - - + + /** + * @param printflag + * boolean for some output + * @return true if some roles are transitive + */ public boolean testForTransitiveProperties(boolean printflag) { - + boolean retval = false; - + Set<OWLPropertyAxiom> ax = onto.getObjectPropertyAxioms(); for (OWLPropertyAxiom propertyAxiom : ax) { - //System.out.println(propertyAxiom.getClass().getSimpleName()); if (propertyAxiom.getClass().getSimpleName().equals( "OWLTransitiveObjectPropertyAxiomImpl")) { retval = true; - if(printflag) { - System.out.println( - "WARNING transitive object property can't be used in cardinality restriction\n" - + propertyAxiom.toString()+"but I'm ignoring it"); + if (printflag) { + System.out + .println("WARNING transitive object property can't be used in cardinality restriction\n" + + propertyAxiom.toString() + + "but I'm ignoring it"); } } } - if(printflag) { - System.out.println( - "No transitive Properties found"); + if (printflag) { + System.out.println("No transitive Properties found"); } return retval; } -/* - public static void closeKB(KB kb) { - new OntologyCloserOWLAPI(kb).applyNumberRestrictions(); - } -*/ - + /* + * public static void closeKB(KB kb) { new + * OntologyCloserOWLAPI(kb).applyNumberRestrictions(); } + */ + + /** + * makes some retrieval queries + * @param conceptStr + * @return + */ public SortedSet<Individual> verifyConcept(String conceptStr) { - + Description d; - SimpleClock sc=new SimpleClock(); + SimpleClock sc = new SimpleClock(); StringBuffer sb = new StringBuffer(); sb.append(conceptStr); conceptStr = sb.toString(); @@ -223,39 +190,41 @@ try { d = KBParser.parseConcept(conceptStr); System.out.println("\n*******************\nStarting retrieval"); - System.out.println(d.toManchesterSyntaxString("", new HashMap<String,String>())); - //System.out.println(d.toString()); + System.out.println(d.toManchesterSyntaxString("", + new HashMap<String, String>())); + // System.out.println(d.toString()); sc.setTime(); this.rs.retrieval(d); - + System.out.println("retrieved: " + ind.size() + " instances"); sc.printAndSet(); for (Individual individual : ind) { System.out.print(individual + "|"); } - - } catch (Exception e) { e.printStackTrace(); } return ind; - } - - public void writeOWLFile(URI filename){ - try{ - manager.saveOntology(this.onto, new OWLXMLOntologyFormat(), - filename); - }catch (Exception e) {e.printStackTrace();} } - - - private boolean collectExObjRestrForInd(Individual ind, OWLObjectExactCardinalityRestrictionImpl oecr){ + + public void writeOWLFile(URI filename) { + try { + manager.saveOntology(this.onto, new OWLXMLOntologyFormat(), + filename); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private boolean collectExObjRestrForInd(Individual ind, + OWLObjectExactCardinalityRestrictionImpl oecr) { Set<OWLObjectExactCardinalityRestrictionImpl> s = indToRestr.get(ind); - - if(s==null){ - - indToRestr.put(ind, new HashSet<OWLObjectExactCardinalityRestrictionImpl>()); + + if (s == null) { + + indToRestr.put(ind, + new HashSet<OWLObjectExactCardinalityRestrictionImpl>()); s = indToRestr.get(ind); } return s.add(oecr); Modified: trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java 2008-04-07 09:22:24 UTC (rev 771) +++ trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java 2008-04-07 10:07:41 UTC (rev 772) @@ -1,5 +1,9 @@ package org.dllearner.utilities; +/** + * class for counting time and output it + * + */ public class SimpleClock { private long time; @@ -7,12 +11,28 @@ time=System.currentTimeMillis(); } + /** + * prints time needed + * and resets the clock + */ public void printAndSet() { long now=System.currentTimeMillis(); System.out.println("needed "+(now-time)+" ms"); time=now; } + + /** + * prints time needed + * and resets the clock + * @param s String for printing + */ + public void printAndSet(String s) { + long now=System.currentTimeMillis(); + System.out.println(s+" needed "+(now-time)+" ms"); + time=now; + } + public void setTime() { time=System.currentTimeMillis(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 09:22:31
|
Revision: 771 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=771&view=rev Author: kurzum Date: 2008-04-07 02:22:24 -0700 (Mon, 07 Apr 2008) Log Message: ----------- comments Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java Modified: trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java 2008-04-07 07:48:53 UTC (rev 770) +++ trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java 2008-04-07 09:22:24 UTC (rev 771) @@ -9,61 +9,56 @@ import org.dllearner.kb.OWLFile; import org.dllearner.reasoning.OWLAPIReasoner; +/** + * Script for closing an ontology OWLAPI produces extensive filesizes, when + * exporting output file ist named like input file, but recieves a + * "_closedConcise" at the end. + * + * Counts all roles of individuals and adds an Intersection (Concise) of + * ExactCardinalityRestriction to the ABox + * + */ public class CloseOntology { /** - * @param args + * @param argument0 + * simply the path to the owl ontology "examples/test.owl" */ public static void main(String[] args) { - String ontopath="examples/krkworking/test.owl"; - ontopath = args[0]; + // String ontopath="examples/krkworking/test.owl"; + // inputURI + String ontopath = args[0]; File file = new File(ontopath); - - //System.out.println(file.getAbsolutePath()); - System.out.println(file.toURI()); - - - try{ URI inputURI = file.toURI(); - URI outputURI; - OWLFile owlFile=new OWLFile(); - owlFile.setURL(inputURI.toURL()); - - Set<KnowledgeSource> ks = new HashSet<KnowledgeSource>(); - ks.add(owlFile); - OWLAPIReasoner owlapireasoner = new OWLAPIReasoner(ks); - owlapireasoner.init(); - OntologyCloserOWLAPI oc= new OntologyCloserOWLAPI(owlapireasoner); - oc.testForTransitiveProperties(true); + + // outputURI String ending = ontopath.substring(ontopath.lastIndexOf(".") + 1); - /*ontopath=ontopath.replace("."+ending, "_test."+ending); - file=new File(ontopath); + ontopath = ontopath.replace("." + ending, "_closedConcise." + ending); + file = new File(ontopath); URI outputURI = file.toURI(); - oc.writeOWLFile(outputURI);*/ - System.out.println("Attempting to close"); - oc.applyNumberRestrictionsConcise(); - System.out.println("Finished, preparing output"); - //String ending = ontopath.substring(ontopath.lastIndexOf(".") + 1); - ontopath=ontopath.replace("."+ending, "_closedConcise."+ending); - file=new File(ontopath); - outputURI = file.toURI(); - oc.writeOWLFile(outputURI); - - //ontopath=ontopath.replace("_closed."+ending, "_ClosedConcise."+ending); - //file=new File(ontopath); - //outputURI = file.toURI(); - //oc.writeOWLFile(outputURI); - - - //System.out.println(ontopath); - - /*manager.saveOntology(ontology, new OWLXMLOntologyFormat(), - physicalURI2); - manager.removeOntology(ontology.getURI()); - */ - - }catch (Exception e) {e.printStackTrace();} + try { + // initializing reasoner + OWLFile owlFile = new OWLFile(); + owlFile.setURL(inputURI.toURL()); + Set<KnowledgeSource> ks = new HashSet<KnowledgeSource>(); + ks.add(owlFile); + OWLAPIReasoner owlapireasoner = new OWLAPIReasoner(ks); + owlapireasoner.init(); + + // close + OntologyCloserOWLAPI oc = new OntologyCloserOWLAPI(owlapireasoner); + oc.testForTransitiveProperties(true); + System.out.println("Attempting to close"); + oc.applyNumberRestrictionsConcise(); + System.out.println("Finished, preparing output"); + + // save + oc.writeOWLFile(outputURI); + + } catch (Exception e) { + e.printStackTrace(); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 07:49:01
|
Revision: 770 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=770&view=rev Author: kurzum Date: 2008-04-07 00:48:53 -0700 (Mon, 07 Apr 2008) Log Message: ----------- corrected baseuri Modified Paths: -------------- trunk/examples/arch/arch.owl Modified: trunk/examples/arch/arch.owl =================================================================== --- trunk/examples/arch/arch.owl 2008-04-07 07:48:07 UTC (rev 769) +++ trunk/examples/arch/arch.owl 2008-04-07 07:48:53 UTC (rev 770) @@ -12,8 +12,8 @@ ]> -<rdf:RDF xmlns="http://example.com#" - xml:base="http://example.com" +<rdf:RDF xmlns="http://localhost/foo#" + xml:base="http://localhost/foo" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:owl11="http://www.w3.org/2006/12/owl11#" xmlns:owl11xml="http://www.w3.org/2006/12/owl11-xml#" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 07:48:13
|
Revision: 769 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=769&view=rev Author: kurzum Date: 2008-04-07 00:48:07 -0700 (Mon, 07 Apr 2008) Log Message: ----------- script and classes for closing ontologies Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/examples/KRK.java trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java Modified: trunk/src/dl-learner/org/dllearner/examples/KRK.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-07 07:46:21 UTC (rev 768) +++ trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-07 07:48:07 UTC (rev 769) @@ -7,6 +7,7 @@ import java.io.FileReader; import java.io.IOException; import java.net.URI; +import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.SortedSet; @@ -50,9 +51,16 @@ // // turn off to not write the owl, needs about 30 seconds or more static boolean writeOWL = true; - static boolean writeClosedOWL = true ; static boolean useTransitivity = false; + static boolean writeExampleSets = true; + static boolean writeConciseOWLAllDifferent = false; + + static boolean closeKB=true; + static boolean closeConcise= true && closeKB; + static boolean writeClosedOWL = true && closeKB; + static boolean verifySomeConcepts = false && closeKB; + static boolean useInverse = false; // dependent, love and marriage, horse and carriage @@ -216,53 +224,116 @@ finishBackgroundForRoles(); System.out.println("Finished Background"); // WRITE - writeExampleSets(); - writeConciseOWLAllDifferent(); + if(writeExampleSets)writeExampleSets(); + if(writeConciseOWLAllDifferent)writeConciseOWLAllDifferent(); + if (writeOWL)writeOWLFile("test.owl"); - - if (writeOWL) { - writeOWLFile("test.owl"); + OntologyCloser oc = new OntologyCloser(kb); + String kbaddition= "_Closed"; + if(closeKB) { + + if(closeConcise) { + oc.applyNumberRestrictionsNamed(); + kbaddition = "_CloseConcise"; + } + else oc.applyNumberRestrictions(); } - if(writeClosedOWL) { - OntologyCloser oc = new OntologyCloser(kb); - oc.applyNumberRestrictions(); - - String conceptStr = "ALL \"http://www.test.de/test#hasPiece\".(EXISTS \"http://www.test.de/test#fileDistanceLessThan6\".((NOT \"http://www.test.de/test#WKing\") AND ALL \"http://www.test.de/test#rankDistance1\".(\"http://www.test.de/test#WKing\" AND ALL \"http://www.test.de/test#fileDistanceLessThan2\".\"http://www.test.de/test#BKing\" AND ALL \"http://www.test.de/test#hasLowerFileThan\".\"http://www.test.de/test#WKing\")) AND ALL \"http://www.test.de/test#fileDistance1\".\"http://www.test.de/test#WRook\")"; - //conceptStr = "ALL http://www.test.de/test#hasPiece.(EXISTS http://www.test.de/test#fileDistanceLessThan6.((NOT http://www.test.de/test#WKing) AND ALL http://www.test.de/test#rankDistance1.(http://www.test.de/test#WKing AND ALL http://www.test.de/test#fileDistanceLessThan2.http://www.test.de/test#WKing AND ALL http://www.test.de/test#hasLowerFileThan.http://www.test.de/test#WKing)) AND ALL http://www.test.de/test#fileDistance1.http://www.test.de/test#WRook)"; - //conceptStr = "ALL hasPiece.(EXISTS fileDistanceLessThan6.((NOT WKing) AND ALL rankDistance1.(WKing AND ALL fileDistanceLessThan2.WKing AND ALL hasLowerFileThan.WKing)) AND ALL fileDistance1.WRook)"; - //conceptStr = "ALL \"http://www.test.de/test#hasPiece\".\"http://www.test.de/test#WKing\""; - //conceptStr = "EXISTS \"http://www.test.de/test#hasPiece\".EXISTS \"http://www.test.de/test#hasLowerRankThan\".(\"http://www.test.de/test#WRook\" AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\")"; - - conceptStr = "\"http://www.test.de/test#WRook\""; + if (verifySomeConcepts) verifySomeConcepts(oc); + if (writeClosedOWL) writeOWLFile("test"+kbaddition+".owl"); - oc.verifyConcept(conceptStr); - conceptStr = "ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + - "\"http://www.test.de/test#WKing\" "; - - oc.verifyConcept(conceptStr); - conceptStr = "(\"http://www.test.de/test#WRook\" "+ - " AND " + - " ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + - "\"http://www.test.de/test#WKing\") "; - - oc.verifyConcept(conceptStr); - conceptStr = "EXISTS \"http://www.test.de/test#hasLowerRankThan\"."+ - "(\"http://www.test.de/test#WRook\""+ - "AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\") "; - - - oc.verifyConcept(conceptStr); - //writeOWLFile("test_Closed.owl"); - } - } catch (Exception e) { e.printStackTrace(); } System.out.println("Done"); }// end main + + protected static void verifySomeConcepts(OntologyCloser oc) { + + ArrayList<String> test=new ArrayList<String>(); + + //String conceptStr = "ALL \"http://www.test.de/test#hasPiece\".(EXISTS \"http://www.test.de/test#fileDistanceLessThan6\".((NOT \"http://www.test.de/test#WKing\") AND ALL \"http://www.test.de/test#rankDistance1\".(\"http://www.test.de/test#WKing\" AND ALL \"http://www.test.de/test#fileDistanceLessThan2\".\"http://www.test.de/test#BKing\" AND ALL \"http://www.test.de/test#hasLowerFileThan\".\"http://www.test.de/test#WKing\")) AND ALL \"http://www.test.de/test#fileDistance1\".\"http://www.test.de/test#WRook\")"; + //conceptStr = "ALL http://www.test.de/test#hasPiece.(EXISTS http://www.test.de/test#fileDistanceLessThan6.((NOT http://www.test.de/test#WKing) AND ALL http://www.test.de/test#rankDistance1.(http://www.test.de/test#WKing AND ALL http://www.test.de/test#fileDistanceLessThan2.http://www.test.de/test#WKing AND ALL http://www.test.de/test#hasLowerFileThan.http://www.test.de/test#WKing)) AND ALL http://www.test.de/test#fileDistance1.http://www.test.de/test#WRook)"; + //conceptStr = "ALL hasPiece.(EXISTS fileDistanceLessThan6.((NOT WKing) AND ALL rankDistance1.(WKing AND ALL fileDistanceLessThan2.WKing AND ALL hasLowerFileThan.WKing)) AND ALL fileDistance1.WRook)"; + //conceptStr = "ALL \"http://www.test.de/test#hasPiece\".\"http://www.test.de/test#WKing\""; + //conceptStr = "EXISTS \"http://www.test.de/test#hasPiece\".EXISTS \"http://www.test.de/test#hasLowerRankThan\".(\"http://www.test.de/test#WRook\" AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\")"; + + + test.add("\"http://www.test.de/test#WRook\""); + /*test.add("ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + + "\"http://www.test.de/test#WKing\""); + /*test.add("(\"http://www.test.de/test#WRook\" "+ + " AND " + + " ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + + "\"http://www.test.de/test#WKing\") ");*/ + /*test.add("(\"http://www.test.de/test#Piece\" "+ + " AND " + + " ALL \"http://www.test.de/test#fileDistanceLessThan8\"." + + "\"http://www.test.de/test#Piece\") "); + test.add("(\"http://www.test.de/test#Piece\" "+ + " AND ( " + + " ALL \"http://www.test.de/test#fileDistanceLessThan8\"." + + "\"http://www.test.de/test#Piece\" " + + " AND " + + " EXISTS \"http://www.test.de/test#fileDistanceLessThan8\"." + + "\"http://www.test.de/test#Piece\"))") ; + test.add("(\"http://www.test.de/test#Piece\" "+ + " AND ( " + + " ALL \"http://www.test.de/test#fileDistanceLessThan7\"." + + "\"http://www.test.de/test#Piece\" " + + " AND " + + " EXISTS \"http://www.test.de/test#fileDistanceLessThan7\"." + + "\"http://www.test.de/test#Piece\"))") ; + test.add("(\"http://www.test.de/test#Piece\" "+ + " AND ( " + + " ALL \"http://www.test.de/test#fileDistanceLessThan5\"." + + "\"http://www.test.de/test#Piece\" " + + " AND " + + " EXISTS \"http://www.test.de/test#fileDistanceLessThan5\"." + + "\"http://www.test.de/test#Piece\"))") ;*/ + test.add("(\"http://www.test.de/test#Piece\" "+ + " AND ( " + + " ALL \"http://www.test.de/test#fileDistanceLessThan3\"." + + "\"http://www.test.de/test#Piece\" " + + " AND " + + " EXISTS \"http://www.test.de/test#fileDistanceLessThan3\"." + + "\"http://www.test.de/test#Piece\"))") ; + test.add("(\"http://www.test.de/test#BKing\" "+ + " AND ( " + + " ALL \"http://www.test.de/test#fileDistanceLessThan3\"." + + "\"http://www.test.de/test#Piece\" " + + " AND " + + " EXISTS \"http://www.test.de/test#fileDistanceLessThan3\"." + + "\"http://www.test.de/test#Piece\"))") ; + test.add("(\"http://www.test.de/test#BKing\" "+ + " AND ( " + + " ALL \"http://www.test.de/test#fileDistanceLessThan2\"." + + "\"http://www.test.de/test#Piece\" " + + " AND " + + " EXISTS \"http://www.test.de/test#fileDistanceLessThan2\"." + + "\"http://www.test.de/test#Piece\"))") ; + + /*test.add("(\"http://www.test.de/test#Piece\" "+ + " AND " + + " ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + + "\"http://www.test.de/test#WKing\") ");*/ + + for (int i = 0; i < test.size(); i++) { + String conceptStr = test.get(i); + oc.verifyConcept(conceptStr); + } + + + /*conceptStr = "EXISTS \"http://www.test.de/test#hasLowerRankThan\"."+ + "(\"http://www.test.de/test#WRook\""+ + "AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\") "; + + */ + System.out.println(); + } + static void makeDistanceRoles(KRKPiece A, KRKPiece B) { int Fdist = A.getFileDistance(B); int Rdist = A.getRankDistance(B); Added: trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/CloseOntology.java 2008-04-07 07:48:07 UTC (rev 769) @@ -0,0 +1,69 @@ +package org.dllearner.utilities; + +import java.io.File; +import java.net.URI; +import java.util.HashSet; +import java.util.Set; + +import org.dllearner.core.KnowledgeSource; +import org.dllearner.kb.OWLFile; +import org.dllearner.reasoning.OWLAPIReasoner; + +public class CloseOntology { + + /** + * @param args + */ + public static void main(String[] args) { + String ontopath="examples/krkworking/test.owl"; + ontopath = args[0]; + File file = new File(ontopath); + + //System.out.println(file.getAbsolutePath()); + System.out.println(file.toURI()); + + + try{ + URI inputURI = file.toURI(); + URI outputURI; + OWLFile owlFile=new OWLFile(); + owlFile.setURL(inputURI.toURL()); + + Set<KnowledgeSource> ks = new HashSet<KnowledgeSource>(); + ks.add(owlFile); + OWLAPIReasoner owlapireasoner = new OWLAPIReasoner(ks); + owlapireasoner.init(); + OntologyCloserOWLAPI oc= new OntologyCloserOWLAPI(owlapireasoner); + oc.testForTransitiveProperties(true); + String ending = ontopath.substring(ontopath.lastIndexOf(".") + 1); + /*ontopath=ontopath.replace("."+ending, "_test."+ending); + file=new File(ontopath); + URI outputURI = file.toURI(); + oc.writeOWLFile(outputURI);*/ + System.out.println("Attempting to close"); + oc.applyNumberRestrictionsConcise(); + System.out.println("Finished, preparing output"); + //String ending = ontopath.substring(ontopath.lastIndexOf(".") + 1); + ontopath=ontopath.replace("."+ending, "_closedConcise."+ending); + file=new File(ontopath); + outputURI = file.toURI(); + oc.writeOWLFile(outputURI); + + //ontopath=ontopath.replace("_closed."+ending, "_ClosedConcise."+ending); + //file=new File(ontopath); + //outputURI = file.toURI(); + //oc.writeOWLFile(outputURI); + + + //System.out.println(ontopath); + + /*manager.saveOntology(ontology, new OWLXMLOntologyFormat(), + physicalURI2); + + manager.removeOntology(ontology.getURI()); + */ + + }catch (Exception e) {e.printStackTrace();} + } + +} Modified: trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java 2008-04-07 07:46:21 UTC (rev 768) +++ trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java 2008-04-07 07:48:07 UTC (rev 769) @@ -2,16 +2,21 @@ import java.util.HashMap; import java.util.HashSet; +import java.util.LinkedList; import java.util.Map; import java.util.Set; import java.util.SortedSet; +import java.util.TreeSet; import org.dllearner.core.KnowledgeSource; import org.dllearner.core.ReasoningService; import org.dllearner.core.owl.ClassAssertionAxiom; import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.EquivalentClassesAxiom; import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.Intersection; import org.dllearner.core.owl.KB; +import org.dllearner.core.owl.NamedClass; import org.dllearner.core.owl.ObjectExactCardinalityRestriction; import org.dllearner.core.owl.ObjectProperty; import org.dllearner.core.owl.PropertyAxiom; @@ -19,22 +24,31 @@ import org.dllearner.kb.KBFile; import org.dllearner.parser.KBParser; import org.dllearner.reasoning.OWLAPIReasoner; +import org.semanticweb.owl.model.OWLOntology; public class OntologyCloser { KB kb; KBFile kbFile; - Set<KnowledgeSource> ks; + OWLOntology onto; + OWLAPIReasoner reasoner; + boolean isKB = true; + + // Set<KnowledgeSource> ks; ReasoningService rs; + HashMap<Individual, Set<ObjectExactCardinalityRestriction>> indToRestr; + HashMap<Individual, Set<Description>> indToNamedClass; + HashSet<Description> classes; public OntologyCloser(KB kb) { super(); this.kb = kb; this.kbFile = new KBFile(this.kb); - this.ks = new HashSet<KnowledgeSource>(); - this.ks.add(this.kbFile); + Set<KnowledgeSource> ks = new HashSet<KnowledgeSource>(); + ks.add(this.kbFile); OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); owlapi.init(); - + this.indToRestr = new HashMap<Individual, Set<ObjectExactCardinalityRestriction>>(); + this.classes = new HashSet<Description>(); this.rs = new ReasoningService(owlapi); } @@ -46,17 +60,38 @@ public void applyNumberRestrictions() { Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); // Set<Individual> allind = this.rs.getIndividuals(); - Set<PropertyAxiom> ax = kb.getRbox(); - for (PropertyAxiom propertyAxiom : ax) { - if (propertyAxiom.getClass().getSimpleName().equals( - "TransitiveObjectPropertyAxiom")) { + testForTransitiveProperties(true); - System.out - .println("WARNING transitive object property can't be used in cardinality restriction\n" - + propertyAxiom.toString()); + for (ObjectProperty oneRole : allRoles) { + + // System.out.println(oneRole.getClass()); + Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs + .getRoleMembers(oneRole); + for (Individual oneInd : allRoleMembers.keySet()) { + SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + if (fillers.size() > 0) { + ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( + fillers.size(), oneRole, new Thing()); + kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); + } } + } + // System.out.println("good ontology? " + rs.isSatisfiable()); + } + + + + /** + * counts the number of roles used by each individual and assigns + * ExactCardinalityRestriction + */ + public void applyNumberRestrictionsConcise() { + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); + // Set<Individual> allind = this.rs.getIndividuals(); + testForTransitiveProperties(true); + for (ObjectProperty oneRole : allRoles) { // System.out.println(oneRole.getClass()); @@ -67,39 +102,165 @@ if (fillers.size() > 0) { ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( fillers.size(), oneRole, new Thing()); - kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); + // indToRestr.put(oneInd,) + collectExObjRestrForInd(oneInd, oecr); } } + // + + }// end for + + // Intersection intersection = null; + LinkedList<Description> ll = new LinkedList<Description>(); + Set<ObjectExactCardinalityRestriction> s = null; + + for (Individual oneInd : indToRestr.keySet()) { + s = indToRestr.get(oneInd); + for (ObjectExactCardinalityRestriction oecr : s) { + ll.add(oecr); + } + kb.addABoxAxiom(new ClassAssertionAxiom(new Intersection(ll), + oneInd)); + s = null; + ll = new LinkedList<Description>(); } + + // + // System.out.println("good ontology? " + rs.isSatisfiable()); } + + + /** + * counts the number of roles used by each individual and assigns + * ExactCardinalityRestriction + */ + public void applyNumberRestrictionsNamed() { + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); + // Set<Individual> allind = this.rs.getIndividuals(); + testForTransitiveProperties(true); + + for (ObjectProperty oneRole : allRoles) { + + // System.out.println(oneRole.getClass()); + Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs + .getRoleMembers(oneRole); + for (Individual oneInd : allRoleMembers.keySet()) { + SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + //if (fillers.size() > 0) { + ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( + fillers.size(), oneRole, new Thing()); + // indToRestr.put(oneInd,) + //make Description + Description d = new NamedClass(oneRole+"Exact"+fillers.size()+"gen"); + d.addChild(oecr); + kb.addTBoxAxiom(new EquivalentClassesAxiom(d,oecr)); + //System.out.println(d.toManchesterSyntaxString("", new HashMap<String, String>())); + kb.addABoxAxiom(new ClassAssertionAxiom(d,oneInd)); + //collectExObjRestrForInd(oneInd, oecr); + + } + + // + + }// end for + + // Intersection intersection = null; + /* + LinkedList<Description> ll = new LinkedList<Description>(); + Set<ObjectExactCardinalityRestriction> s = null; + + for (Individual oneInd : indToRestr.keySet()) { + s = indToRestr.get(oneInd); + for (ObjectExactCardinalityRestriction oecr : s) { + ll.add(oecr); + } + kb.addABoxAxiom(new ClassAssertionAxiom(new Intersection(ll), + oneInd)); + s = null; + ll = new LinkedList<Description>(); + }*/ + + // + + // System.out.println("good ontology? " + rs.isSatisfiable()); + + } + + public boolean testForTransitiveProperties(boolean printflag) { + boolean retval = false; + Set<PropertyAxiom> ax = kb.getRbox(); + for (PropertyAxiom propertyAxiom : ax) { + if (propertyAxiom.getClass().getSimpleName().equals( + "TransitiveObjectPropertyAxiom")) { + retval = true; + if (printflag) { + System.out + .println("WARNING transitive object property can't be used in cardinality restriction\n" + + propertyAxiom.toString()); + } + } + } + + return retval; + } + public static void closeKB(KB kb) { new OntologyCloser(kb).applyNumberRestrictions(); } - public void verifyConcept(String conceptStr) { + public SortedSet<Individual> verifyConcept(String conceptStr) { Description d; + SimpleClock sc = new SimpleClock(); StringBuffer sb = new StringBuffer(); sb.append(conceptStr); conceptStr = sb.toString(); + SortedSet<Individual> ind = new TreeSet<Individual>(); try { d = KBParser.parseConcept(conceptStr); - System.out.println(d.toManchesterSyntaxString("", new HashMap<String,String>())); - System.out.println(d.toString()); - System.out.println("Starting retrieval"); - SortedSet<Individual> ind = this.rs.retrieval(d); + System.out.println("\n*******************\nStarting retrieval"); + System.out.println(d.toManchesterSyntaxString("", + new HashMap<String, String>())); + // System.out.println(d.toString()); + sc.setTime(); + this.rs.retrieval(d); + System.out.println("retrieved: " + ind.size() + " instances"); + sc.printAndSet(); + for (Individual individual : ind) { + System.out.print(individual + "|"); + } - //for (Individual individual : ind) { - //System.out.println(individual + ""); - //} - } catch (Exception e) { e.printStackTrace(); } + return ind; } + private boolean collectExObjRestrForInd(Individual ind, + ObjectExactCardinalityRestriction oecr) { + Set<ObjectExactCardinalityRestriction> s = indToRestr.get(ind); + if (s == null) { + indToRestr.put(ind, + new HashSet<ObjectExactCardinalityRestriction>()); + s = indToRestr.get(ind); + } + return s.add(oecr); + } + + @SuppressWarnings("unused") + private boolean collectDescriptionForInd(Individual ind, + Description d) { + Set<Description> s = indToNamedClass.get(ind); + if (s == null) { + indToNamedClass.put(ind, + new HashSet<Description>()); + s = indToNamedClass.get(ind); + } + return s.add(d); + } + } Added: trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/OntologyCloserOWLAPI.java 2008-04-07 07:48:07 UTC (rev 769) @@ -0,0 +1,264 @@ +package org.dllearner.utilities; + +import java.net.URI; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; + +import org.dllearner.core.ReasoningService; +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.ObjectProperty; +import org.dllearner.parser.KBParser; +import org.dllearner.reasoning.OWLAPIReasoner; +import org.semanticweb.owl.apibinding.OWLManager; +import org.semanticweb.owl.io.OWLXMLOntologyFormat; +import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.model.OWLOntologyManager; +import org.semanticweb.owl.model.OWLPropertyAxiom; + +import uk.ac.manchester.cs.owl.OWLObjectExactCardinalityRestrictionImpl; +import uk.ac.manchester.cs.owl.OWLObjectIntersectionOfImpl; + +public class OntologyCloserOWLAPI { + + OWLOntology onto; + OWLAPIReasoner reasoner; + //Set<KnowledgeSource> ks; + ReasoningService rs; + HashMap<Individual,Set<OWLObjectExactCardinalityRestrictionImpl>> indToRestr; + OWLDataFactory factory; + OWLOntologyManager manager; + public int numberOfStatementsChanged = 0; + + public OntologyCloserOWLAPI(OWLAPIReasoner reasoner) { + //this.onto = reasoner.getOWLAPIOntologies().get(0); + this.reasoner = reasoner; + this.indToRestr = new HashMap<Individual,Set<OWLObjectExactCardinalityRestrictionImpl>> (); + this.rs = new ReasoningService(reasoner); + this.manager = OWLManager.createOWLOntologyManager(); + this.factory = manager.getOWLDataFactory(); + + this.onto = reasoner.getOWLAPIOntologies().get(0); + //URI ontologyURI = URI.create(reasoner.getBaseURI()); + //URI physicalURI = URI.create(owlFile); + //SimpleURIMapper mapper = new SimpleURIMapper(ontologyURI, physicalURI); + //manager.addURIMapper(mapper); + /*try{ + this.onto = manager.loadOntologyFromPhysicalURI(physicalURI); + }catch (Exception e) {e.printStackTrace();} + //manager.getOntologies().add(this.onto); + System.out.println(manager.getOntologies()); + System.out.println(this.onto);*/ + //reasoner = new org.mindswap.pellet.owlapi.Reasoner(manager); + //System.out.println(this.rs.getAtomicConcepts()); + + } + + + /** + * counts the number of roles used by each individual and assigns + * ExactCardinalityRestriction + */ + public void applyNumberRestrictions() { + System.out.println("applyNRES"); + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); + System.out.println("found: "+allRoles.size()+" roles"); + // Set<Individual> allind = this.rs.getIndividuals(); + //testForTransitiveProperties(true); + + + + for (ObjectProperty oneRole : allRoles) { + + // System.out.println(oneRole.getClass()); + Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs + .getRoleMembers(oneRole); + for (Individual oneInd : allRoleMembers.keySet()) { + SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + if (fillers.size() > 0) { + OWLObjectExactCardinalityRestrictionImpl oecr = + new OWLObjectExactCardinalityRestrictionImpl( + factory, + factory.getOWLObjectProperty(URI.create(oneRole.getName())), + fillers.size(), + factory.getOWLThing() + ); + //System.out.println(oneRole.getName()+"||"+fillers.size()+"||"+oneInd); + /*ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( + fillers.size(), oneRole, new Thing());*/ + //kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); + OWLAxiom axiom = factory.getOWLClassAssertionAxiom( + factory.getOWLIndividual(URI.create(oneInd.getName())) + , oecr); + AddAxiom addAxiom = new AddAxiom(this.onto, axiom); + try{ + manager.applyChange(addAxiom); + }catch (Exception e) {e.printStackTrace();} + } + } + + } + // System.out.println("good ontology? " + rs.isSatisfiable()); + + } + + /** + * counts the number of roles used by each individual and assigns + * ExactCardinalityRestriction + */ + public void applyNumberRestrictionsConcise() { + + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); + // Set<Individual> allind = this.rs.getIndividuals(); + // testForTransitiveProperties(true); + + for (ObjectProperty oneRole : allRoles) { + + // System.out.println(oneRole.getClass()); + Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs + .getRoleMembers(oneRole); + for (Individual oneInd : allRoleMembers.keySet()) { + SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + if (fillers.size() > 0) { + OWLObjectExactCardinalityRestrictionImpl oecr = + new OWLObjectExactCardinalityRestrictionImpl( + factory, + factory.getOWLObjectProperty(URI.create(oneRole.getName())), + fillers.size(), + factory.getOWLThing() + ); + //indToRestr.put(oneInd,) + + collectExObjRestrForInd(oneInd, oecr); + } + } + + // + + }//end for + + //Intersection intersection = null; + Set<OWLDescription> target = new HashSet<OWLDescription>(); + Set<OWLObjectExactCardinalityRestrictionImpl> s = null; + + for (Individual oneInd : indToRestr.keySet()) { + s = indToRestr.get(oneInd); + for (OWLObjectExactCardinalityRestrictionImpl oecr : s) { + target.add(oecr); + } + OWLObjectIntersectionOfImpl intersection = + new OWLObjectIntersectionOfImpl(this.factory,target); + //kb.addABoxAxiom(new ClassAssertionAxiom(new OWLIntersection(ll), oneInd)); + + + s = null; + target = new HashSet<OWLDescription>(); + + OWLAxiom axiom = factory.getOWLClassAssertionAxiom( + factory.getOWLIndividual(URI.create(oneInd.getName())) + , intersection); + AddAxiom addAxiom = new AddAxiom(this.onto, axiom); + try{ + manager.applyChange(addAxiom); + numberOfStatementsChanged++; + }catch (Exception e) {e.printStackTrace();} + + }//end for + + + + // + + // System.out.println("good ontology? " + rs.isSatisfiable()); + + } + + + public boolean testForTransitiveProperties(boolean printflag) { + + boolean retval = false; + + Set<OWLPropertyAxiom> ax = onto.getObjectPropertyAxioms(); + for (OWLPropertyAxiom propertyAxiom : ax) { + //System.out.println(propertyAxiom.getClass().getSimpleName()); + if (propertyAxiom.getClass().getSimpleName().equals( + "OWLTransitiveObjectPropertyAxiomImpl")) { + retval = true; + if(printflag) { + System.out.println( + "WARNING transitive object property can't be used in cardinality restriction\n" + + propertyAxiom.toString()+"but I'm ignoring it"); + } + } + } + if(printflag) { + System.out.println( + "No transitive Properties found"); + } + return retval; + } + +/* + public static void closeKB(KB kb) { + new OntologyCloserOWLAPI(kb).applyNumberRestrictions(); + } +*/ + + public SortedSet<Individual> verifyConcept(String conceptStr) { + + Description d; + SimpleClock sc=new SimpleClock(); + StringBuffer sb = new StringBuffer(); + sb.append(conceptStr); + conceptStr = sb.toString(); + SortedSet<Individual> ind = new TreeSet<Individual>(); + try { + d = KBParser.parseConcept(conceptStr); + System.out.println("\n*******************\nStarting retrieval"); + System.out.println(d.toManchesterSyntaxString("", new HashMap<String,String>())); + //System.out.println(d.toString()); + sc.setTime(); + this.rs.retrieval(d); + + System.out.println("retrieved: " + ind.size() + " instances"); + sc.printAndSet(); + for (Individual individual : ind) { + System.out.print(individual + "|"); + } + + + + } catch (Exception e) { + e.printStackTrace(); + } + return ind; + } + + public void writeOWLFile(URI filename){ + try{ + manager.saveOntology(this.onto, new OWLXMLOntologyFormat(), + filename); + }catch (Exception e) {e.printStackTrace();} + } + + + private boolean collectExObjRestrForInd(Individual ind, OWLObjectExactCardinalityRestrictionImpl oecr){ + Set<OWLObjectExactCardinalityRestrictionImpl> s = indToRestr.get(ind); + + if(s==null){ + + indToRestr.put(ind, new HashSet<OWLObjectExactCardinalityRestrictionImpl>()); + s = indToRestr.get(ind); + } + return s.add(oecr); + } + +} Added: trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/SimpleClock.java 2008-04-07 07:48:07 UTC (rev 769) @@ -0,0 +1,20 @@ +package org.dllearner.utilities; + +public class SimpleClock { + private long time; + + public SimpleClock() { + time=System.currentTimeMillis(); + } + + public void printAndSet() { + long now=System.currentTimeMillis(); + System.out.println("needed "+(now-time)+" ms"); + time=now; + } + + public void setTime() { + time=System.currentTimeMillis(); + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 07:46:26
|
Revision: 768 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=768&view=rev Author: kurzum Date: 2008-04-07 00:46:21 -0700 (Mon, 07 Apr 2008) Log Message: ----------- added public set URL function Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/OWLFile.java Modified: trunk/src/dl-learner/org/dllearner/kb/OWLFile.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/OWLFile.java 2008-04-07 07:45:52 UTC (rev 767) +++ trunk/src/dl-learner/org/dllearner/kb/OWLFile.java 2008-04-07 07:46:21 UTC (rev 768) @@ -100,6 +100,9 @@ public URL getURL() { return url; } + public void setURL(URL url) { + this.url = url; + } /* (non-Javadoc) * @see org.dllearner.core.KnowledgeSource#export(java.io.File, org.dllearner.core.OntologyFormat) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-07 07:45:55
|
Revision: 767 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=767&view=rev Author: kurzum Date: 2008-04-07 00:45:52 -0700 (Mon, 07 Apr 2008) Log Message: ----------- added new command. "q" or "query" switches to query mode and back Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/cli/QuickStart.java Modified: trunk/src/dl-learner/org/dllearner/cli/QuickStart.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/QuickStart.java 2008-04-07 02:15:16 UTC (rev 766) +++ trunk/src/dl-learner/org/dllearner/cli/QuickStart.java 2008-04-07 07:45:52 UTC (rev 767) @@ -97,8 +97,17 @@ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int target = 0; String selected = ""; + boolean query=false; while (true) { String cmd = br.readLine(); + if(cmd.equalsIgnoreCase("q")|| cmd.equalsIgnoreCase("query")) { + query = (query)?false:true ; + System.out.println("Query mode switched. Now: "+query); + continue; + }else if(cmd.equalsIgnoreCase("exit") || cmd.equalsIgnoreCase("quit")) { + System.out.println("Bye..."); + System.exit(0); + } try { if (cmd.length() == 0) { number = false; @@ -126,7 +135,11 @@ } // DLLearner.main(new String[] { Selected }); - Start.main(new String[] { selected }); + if(!query) { + Start.main(new String[] { selected }); + }else { + Start.main(new String[] {"-q",selected}); + } } catch (Exception e) { e.printStackTrace(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ton...@us...> - 2008-04-07 02:15:19
|
Revision: 766 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=766&view=rev Author: tonytacker Date: 2008-04-06 19:15:16 -0700 (Sun, 06 Apr 2008) Log Message: ----------- automatic init and reset while loading other config Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/gui/Config.java trunk/src/dl-learner/org/dllearner/gui/ConfigLoad.java trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java trunk/src/dl-learner/org/dllearner/gui/RunPanel.java trunk/src/dl-learner/org/dllearner/gui/StartGUI.java Modified: trunk/src/dl-learner/org/dllearner/gui/Config.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/Config.java 2008-04-07 00:18:05 UTC (rev 765) +++ trunk/src/dl-learner/org/dllearner/gui/Config.java 2008-04-07 02:15:16 UTC (rev 766) @@ -315,4 +315,39 @@ return System.nanoTime() - algorithmRunStartTime; return null; } + + /** + * It is necessary for init LearningProblem. + * + * @return true, if necessary example was set otherwise false + */ + public Boolean isSetExample() { + if (lp.getClass().getSimpleName().equals("PosOnlyDefinitionLP")) { + if (cm.getConfigOptionValue(lp, "positiveExamples") != null) + return true; + } else if (cm.getConfigOptionValue(lp, "positiveExamples") != null + && cm.getConfigOptionValue(lp, "negativeExamples") != null) + return true; + return false; + } + + /** + * reInit ComponentManager. + */ + public void reInit() { + cm = ComponentManager.getInstance(); + source = null; + oldSource = null; + reasoner = null; + oldReasoner = null; + rs = null; + lp = null; + oldLearningProblem = null; + la = null; + oldLearningAlgorithm = null; + isInit = new boolean[4]; + threadIsRunning = false; + algorithmRunStartTime = null; + algorithmRunStopTime = null; + } } Modified: trunk/src/dl-learner/org/dllearner/gui/ConfigLoad.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/ConfigLoad.java 2008-04-07 00:18:05 UTC (rev 765) +++ trunk/src/dl-learner/org/dllearner/gui/ConfigLoad.java 2008-04-07 02:15:16 UTC (rev 766) @@ -74,6 +74,7 @@ * parse file */ public void startParser() { + config.reInit(); // new ComponentManager if (this.file.exists()) { ConfParser parser = ConfParser.parseFile(file); // create a mapping between components and prefixes in the conf file Modified: trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java 2008-04-07 00:18:05 UTC (rev 765) +++ trunk/src/dl-learner/org/dllearner/gui/KnowledgeSourcePanel.java 2008-04-07 02:15:16 UTC (rev 766) @@ -46,6 +46,7 @@ private StartGUI startGUI; private JButton initButton; private JButton setButton; + private JButton clearButton; private String[] kbBoxItems = {}; private JComboBox cb = new JComboBox(kbBoxItems); private JPanel choosePanel = new JPanel(); @@ -63,6 +64,8 @@ setButton = new JButton("Set"); setButton.addActionListener(this); + setButton = new JButton("Clear All"); + setButton.addActionListener(this); initButton = new JButton("Init KnowledgeSource"); initButton.addActionListener(this); initButton.setEnabled(true); @@ -102,8 +105,13 @@ setSource(); } - if (e.getSource() == initButton) + if (e.getSource() == initButton) { init(); + } + + if (e.getSource() == clearButton) { + config.reInit(); + } } /** Modified: trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java 2008-04-07 00:18:05 UTC (rev 765) +++ trunk/src/dl-learner/org/dllearner/gui/LearningProblemPanel.java 2008-04-07 02:15:16 UTC (rev 766) @@ -118,9 +118,10 @@ /** * after this, next tab can be used */ - private void init() { + public void init() { setLearningProblem(); - if (config.getReasoner() != null && config.getLearningProblem() != null) { + if (config.getReasoner() != null && config.getLearningProblem() != null + && config.isSetExample()) { try { config.getLearningProblem().init(); config.setInitLearningProblem(true); Modified: trunk/src/dl-learner/org/dllearner/gui/RunPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/RunPanel.java 2008-04-07 00:18:05 UTC (rev 765) +++ trunk/src/dl-learner/org/dllearner/gui/RunPanel.java 2008-04-07 02:15:16 UTC (rev 766) @@ -39,6 +39,7 @@ private JButton runButton, stopButton, treeButton; private JTextArea infoArea; private Config config; + private StartGUI startGUI; private ThreadRun thread; @@ -60,10 +61,11 @@ private JLabel[] time = new JLabel[5]; private JLabel[] percent = new JLabel[5]; - RunPanel(Config config) { + RunPanel(Config config, StartGUI startGUI) { super(new BorderLayout()); this.config = config; + this.startGUI = startGUI; runButton = new JButton("Run"); runButton.addActionListener(this); @@ -141,6 +143,7 @@ // start if (e.getSource() == runButton && config.getLearningAlgorithm() != null && !config.getThreadIsRunning()) { + startGUI.init(); thread = new ThreadRun(config); config.getReasoningService().resetStatistics(); thread.start(); Modified: trunk/src/dl-learner/org/dllearner/gui/StartGUI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/StartGUI.java 2008-04-07 00:18:05 UTC (rev 765) +++ trunk/src/dl-learner/org/dllearner/gui/StartGUI.java 2008-04-07 02:15:16 UTC (rev 766) @@ -78,7 +78,7 @@ tab1 = new ReasonerPanel(config, this); tab2 = new LearningProblemPanel(config, this); tab3 = new LearningAlgorithmPanel(config, this); - tab4 = new RunPanel(config); + tab4 = new RunPanel(config, this); tabPane.addTab("Knowledge Source", tab0); tabPane.addTab("Reasoner", tab1); tabPane.addTab("Learning Problem", tab2); @@ -100,12 +100,19 @@ tabPane.addChangeListener(new ChangeListener() { // This method is called whenever the selected tab changes public void stateChanged(ChangeEvent evt) { - - updateTabColors(); + init(); } }); } + public void init() { + tab0.init(); + tab1.init(); + tab2.init(); + tab3.init(); + updateTabColors(); + } + public static void main(String[] args) { // create GUI logger SimpleLayout layout = new SimpleLayout(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ton...@us...> - 2008-04-07 00:18:14
|
Revision: 765 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=765&view=rev Author: tonytacker Date: 2008-04-06 17:18:05 -0700 (Sun, 06 Apr 2008) Log Message: ----------- wider textarea for stringset Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java Modified: trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java =================================================================== --- trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java 2008-04-03 14:03:19 UTC (rev 764) +++ trunk/src/dl-learner/org/dllearner/gui/WidgetPanelStringSet.java 2008-04-07 00:18:05 UTC (rev 765) @@ -69,7 +69,7 @@ private JButton addButton = new JButton("add"); private JButton removeButton = new JButton("remove"); private JButton clearButton = new JButton("clear"); - private JTextField stringField = new JTextField(25); + private JTextField stringField = new JTextField(30); private Component component; private Component oldComponent; @@ -198,7 +198,7 @@ stringList.setLayoutOrientation(JList.VERTICAL); stringList.setVisibleRowCount(-1); JScrollPane stringListScroller = new JScrollPane(stringList); - stringListScroller.setPreferredSize(new Dimension(280, 100)); + stringListScroller.setPreferredSize(new Dimension(380, 100)); buildConstraints(constraints, 0, 2, 1, 2, 100, 100); gridbag.setConstraints(stringListScroller, constraints); widgetPanel.add(stringListScroller, constraints); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-03 14:03:33
|
Revision: 764 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=764&view=rev Author: kurzum Date: 2008-04-03 07:03:19 -0700 (Thu, 03 Apr 2008) Log Message: ----------- some minor changes, verification works now with kb parse, but still yields strange results Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/Info.java trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java trunk/src/dl-learner/org/dllearner/core/owl/Thing.java trunk/src/dl-learner/org/dllearner/examples/KRK.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java Modified: trunk/src/dl-learner/org/dllearner/Info.java =================================================================== --- trunk/src/dl-learner/org/dllearner/Info.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/Info.java 2008-04-03 14:03:19 UTC (rev 764) @@ -3,6 +3,6 @@ package org.dllearner; public class Info { - public static final String build = "2008-03-16"; + public static final String build = "2008-03-31"; } \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-03 14:03:19 UTC (rev 764) @@ -386,8 +386,11 @@ logger.info("\nsolutions:"); for(Description c : solutions) { logger.info(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); - //TODO remove this line - logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()) ); + //TODO remove this line maybe + // watch for String.replace Quick hack + logger.info(" MANCHESTER: " + + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()). + replace("\"", "")); } } logger.debug("size of candidate set: " + candidates.size()); Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-03 14:03:19 UTC (rev 764) @@ -513,7 +513,11 @@ logger.info("\nsolutions:"); for(Description c : solutions) { logger.info(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); - logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()) ); + //TODO remove this line maybe + // watch for String.replace Quick hack + logger.info(" MANCHESTER: " + + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()). + replace("\"", "")); } } logger.info(" horizontal expansion: " + minimumHorizontalExpansion + " to " + maximumHorizontalExpansion); Modified: trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/core/owl/Nothing.java 2008-04-03 14:03:19 UTC (rev 764) @@ -40,8 +40,10 @@ */ @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { - // TODO: check whether this is correct - return "owl:Nothing"; + // in Protege 3.3 owl:Nothing + // in Protege 4.0 only Nothing + //return "owl:Nothing"; + return "Nothing"; } public int getLength() { Modified: trunk/src/dl-learner/org/dllearner/core/owl/Thing.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/Thing.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/core/owl/Thing.java 2008-04-03 14:03:19 UTC (rev 764) @@ -44,7 +44,11 @@ @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { - return "owl:Thing"; + // in Protege 3.3 owl:Thing + // in Protege 4.0 only Thing + //return "owl:Thing"; + return "Thing"; + } public int getLength() { Modified: trunk/src/dl-learner/org/dllearner/examples/KRK.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-03 14:03:19 UTC (rev 764) @@ -30,6 +30,7 @@ import org.dllearner.core.owl.SymmetricObjectPropertyAxiom; import org.dllearner.core.owl.TransitiveObjectPropertyAxiom; import org.dllearner.reasoning.OWLAPIReasoner; +import org.dllearner.utilities.OntologyCloser; /* * Structure @@ -223,14 +224,37 @@ writeOWLFile("test.owl"); } if(writeClosedOWL) { + OntologyCloser oc = new OntologyCloser(kb); + oc.applyNumberRestrictions(); + + String conceptStr = "ALL \"http://www.test.de/test#hasPiece\".(EXISTS \"http://www.test.de/test#fileDistanceLessThan6\".((NOT \"http://www.test.de/test#WKing\") AND ALL \"http://www.test.de/test#rankDistance1\".(\"http://www.test.de/test#WKing\" AND ALL \"http://www.test.de/test#fileDistanceLessThan2\".\"http://www.test.de/test#BKing\" AND ALL \"http://www.test.de/test#hasLowerFileThan\".\"http://www.test.de/test#WKing\")) AND ALL \"http://www.test.de/test#fileDistance1\".\"http://www.test.de/test#WRook\")"; //conceptStr = "ALL http://www.test.de/test#hasPiece.(EXISTS http://www.test.de/test#fileDistanceLessThan6.((NOT http://www.test.de/test#WKing) AND ALL http://www.test.de/test#rankDistance1.(http://www.test.de/test#WKing AND ALL http://www.test.de/test#fileDistanceLessThan2.http://www.test.de/test#WKing AND ALL http://www.test.de/test#hasLowerFileThan.http://www.test.de/test#WKing)) AND ALL http://www.test.de/test#fileDistance1.http://www.test.de/test#WRook)"; //conceptStr = "ALL hasPiece.(EXISTS fileDistanceLessThan6.((NOT WKing) AND ALL rankDistance1.(WKing AND ALL fileDistanceLessThan2.WKing AND ALL hasLowerFileThan.WKing)) AND ALL fileDistance1.WRook)"; - conceptStr = "ALL \"http://www.test.de/test#hasPiece\".\"http://www.test.de/test#WKing\""; - OntologyCloser oc = new OntologyCloser(kb); - oc.applyNumberRestrictions(); + //conceptStr = "ALL \"http://www.test.de/test#hasPiece\".\"http://www.test.de/test#WKing\""; + //conceptStr = "EXISTS \"http://www.test.de/test#hasPiece\".EXISTS \"http://www.test.de/test#hasLowerRankThan\".(\"http://www.test.de/test#WRook\" AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\")"; + + + conceptStr = "\"http://www.test.de/test#WRook\""; + oc.verifyConcept(conceptStr); - writeOWLFile("test_Closed.owl"); + conceptStr = "ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + + "\"http://www.test.de/test#WKing\" "; + + oc.verifyConcept(conceptStr); + conceptStr = "(\"http://www.test.de/test#WRook\" "+ + " AND " + + " ALL \"http://www.test.de/test#fileDistanceLessThan1\"." + + "\"http://www.test.de/test#WKing\") "; + + oc.verifyConcept(conceptStr); + conceptStr = "EXISTS \"http://www.test.de/test#hasLowerRankThan\"."+ + "(\"http://www.test.de/test#WRook\""+ + "AND ALL \"http://www.test.de/test#fileDistanceLessThan1\".\"http://www.test.de/test#WKing\") "; + + + oc.verifyConcept(conceptStr); + //writeOWLFile("test_Closed.owl"); } } catch (Exception e) { Deleted: trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java 2008-04-03 11:57:35 UTC (rev 763) +++ trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java 2008-04-03 14:03:19 UTC (rev 764) @@ -1,102 +0,0 @@ -package org.dllearner.examples; - -import java.util.HashSet; -import java.util.Map; -import java.util.Set; -import java.util.SortedSet; - -import org.dllearner.core.KnowledgeSource; -import org.dllearner.core.ReasoningService; -import org.dllearner.core.owl.ClassAssertionAxiom; -import org.dllearner.core.owl.Description; -import org.dllearner.core.owl.Individual; -import org.dllearner.core.owl.KB; -import org.dllearner.core.owl.ObjectExactCardinalityRestriction; -import org.dllearner.core.owl.ObjectProperty; -import org.dllearner.core.owl.PropertyAxiom; -import org.dllearner.core.owl.Thing; -import org.dllearner.kb.KBFile; -import org.dllearner.parser.KBParser; -import org.dllearner.reasoning.OWLAPIReasoner; - -public class OntologyCloser { - KB kb; - KBFile kbFile; - Set<KnowledgeSource> ks; - ReasoningService rs; - - public OntologyCloser(KB kb) { - super(); - this.kb = kb; - this.kbFile = new KBFile(this.kb); - this.ks = new HashSet<KnowledgeSource>(); - this.ks.add(this.kbFile); - OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); - owlapi.init(); - - this.rs = new ReasoningService(owlapi); - - } - - /** - * counts the number of roles used by each individual and assigns - * ExactCardinalityRestriction - */ - public void applyNumberRestrictions() { - Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); - // Set<Individual> allind = this.rs.getIndividuals(); - Set<PropertyAxiom> ax = kb.getRbox(); - for (PropertyAxiom propertyAxiom : ax) { - if (propertyAxiom.getClass().getSimpleName().equals( - "TransitiveObjectPropertyAxiom")) { - - System.out - .println("WARNING transitive object property can't be used in cardinality restriction\n" - + propertyAxiom.toString()); - } - } - - for (ObjectProperty oneRole : allRoles) { - - // System.out.println(oneRole.getClass()); - Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs - .getRoleMembers(oneRole); - for (Individual oneInd : allRoleMembers.keySet()) { - SortedSet<Individual> fillers = allRoleMembers.get(oneInd); - if (fillers.size() > 0) { - ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( - fillers.size(), oneRole, new Thing()); - kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); - } - } - - } - // System.out.println("good ontology? " + rs.isSatisfiable()); - - } - - public static void closeKB(KB kb) { - new OntologyCloser(kb).applyNumberRestrictions(); - } - - public void verifyConcept(String conceptStr) { - Description d; - StringBuffer sb = new StringBuffer(); - sb.append(conceptStr); - conceptStr = sb.toString(); - try { - d = KBParser.parseConcept(conceptStr); - System.out.println("Starting retrieval"); - SortedSet<Individual> ind = this.rs.retrieval(d); - System.out.println("retrieved: " + ind.size() + " instances"); - - for (Individual individual : ind) { - System.out.println(individual + ""); - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - -} Copied: trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java (from rev 760, trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java) =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/utilities/OntologyCloser.java 2008-04-03 14:03:19 UTC (rev 764) @@ -0,0 +1,105 @@ +package org.dllearner.utilities; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; + +import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.ReasoningService; +import org.dllearner.core.owl.ClassAssertionAxiom; +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.KB; +import org.dllearner.core.owl.ObjectExactCardinalityRestriction; +import org.dllearner.core.owl.ObjectProperty; +import org.dllearner.core.owl.PropertyAxiom; +import org.dllearner.core.owl.Thing; +import org.dllearner.kb.KBFile; +import org.dllearner.parser.KBParser; +import org.dllearner.reasoning.OWLAPIReasoner; + +public class OntologyCloser { + KB kb; + KBFile kbFile; + Set<KnowledgeSource> ks; + ReasoningService rs; + + public OntologyCloser(KB kb) { + super(); + this.kb = kb; + this.kbFile = new KBFile(this.kb); + this.ks = new HashSet<KnowledgeSource>(); + this.ks.add(this.kbFile); + OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); + owlapi.init(); + + this.rs = new ReasoningService(owlapi); + + } + + /** + * counts the number of roles used by each individual and assigns + * ExactCardinalityRestriction + */ + public void applyNumberRestrictions() { + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); + // Set<Individual> allind = this.rs.getIndividuals(); + Set<PropertyAxiom> ax = kb.getRbox(); + for (PropertyAxiom propertyAxiom : ax) { + if (propertyAxiom.getClass().getSimpleName().equals( + "TransitiveObjectPropertyAxiom")) { + + System.out + .println("WARNING transitive object property can't be used in cardinality restriction\n" + + propertyAxiom.toString()); + } + } + + for (ObjectProperty oneRole : allRoles) { + + // System.out.println(oneRole.getClass()); + Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs + .getRoleMembers(oneRole); + for (Individual oneInd : allRoleMembers.keySet()) { + SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + if (fillers.size() > 0) { + ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( + fillers.size(), oneRole, new Thing()); + kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); + } + } + + } + // System.out.println("good ontology? " + rs.isSatisfiable()); + + } + + public static void closeKB(KB kb) { + new OntologyCloser(kb).applyNumberRestrictions(); + } + + public void verifyConcept(String conceptStr) { + Description d; + StringBuffer sb = new StringBuffer(); + sb.append(conceptStr); + conceptStr = sb.toString(); + try { + d = KBParser.parseConcept(conceptStr); + System.out.println(d.toManchesterSyntaxString("", new HashMap<String,String>())); + System.out.println(d.toString()); + System.out.println("Starting retrieval"); + SortedSet<Individual> ind = this.rs.retrieval(d); + System.out.println("retrieved: " + ind.size() + " instances"); + + //for (Individual individual : ind) { + //System.out.println(individual + ""); + //} + + } catch (Exception e) { + e.printStackTrace(); + } + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-03 11:57:38
|
Revision: 763 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=763&view=rev Author: kurzum Date: 2008-04-03 04:57:35 -0700 (Thu, 03 Apr 2008) Log Message: ----------- actually this is owl api partial fix for #1931147 the one before was a fix for #1932373 (manchester) Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java 2008-04-03 11:55:26 UTC (rev 762) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java 2008-04-03 11:57:35 UTC (rev 763) @@ -184,8 +184,14 @@ * @see org.dllearner.core.owl.DescriptionVisitor#visit(org.dllearner.core.owl.ObjectMinCardinalityRestriction) */ public void visit(ObjectMinCardinalityRestriction description) { - // TODO Auto-generated method stub - throw new Error("OWLAPIDescriptionConverter: not implemented"); + // TODO Taken from ObjectSomeRestriction above, hope its correct + //throw new Error("OWLAPIDescriptionConverter: not implemented"); + OWLObjectProperty role = factory.getOWLObjectProperty( + URI.create(description.getRole().getName())); + description.getChild(0).accept(this); + OWLDescription d = stack.pop(); + int minmax = description.getCardinality(); + stack.push(factory.getOWLObjectMinCardinalityRestriction(role, minmax, d)); } /* (non-Javadoc) @@ -207,8 +213,14 @@ * @see org.dllearner.core.owl.DescriptionVisitor#visit(org.dllearner.core.owl.ObjectMaxCardinalityRestriction) */ public void visit(ObjectMaxCardinalityRestriction description) { - // TODO Auto-generated method stub - throw new Error("OWLAPIDescriptionConverter: not implemented"); + // TODO Taken from ObjectSomeRestriction above, hope its correct + //throw new Error("OWLAPIDescriptionConverter: not implemented"); + OWLObjectProperty role = factory.getOWLObjectProperty( + URI.create(description.getRole().getName())); + description.getChild(0).accept(this); + OWLDescription d = stack.pop(); + int minmax = description.getCardinality(); + stack.push(factory.getOWLObjectMaxCardinalityRestriction(role, minmax, d)); } /* (non-Javadoc) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-03 11:55:34
|
Revision: 762 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=762&view=rev Author: kurzum Date: 2008-04-03 04:55:26 -0700 (Thu, 03 Apr 2008) Log Message: ----------- owl api partial fix for #1931147 http://sourceforge.net/tracker/index.php?func=detail&aid=1931147&group_id=203619&atid=986319 Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java 2008-04-03 11:53:53 UTC (rev 761) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectAllRestriction.java 2008-04-03 11:55:26 UTC (rev 762) @@ -40,7 +40,7 @@ @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { - return restrictedPropertyExpression.toString(baseURI, prefixes) + " some " + children.get(0).toManchesterSyntaxString(baseURI, prefixes); + return restrictedPropertyExpression.toString(baseURI, prefixes) + " only " + children.get(0).toManchesterSyntaxString(baseURI, prefixes); } /* (non-Javadoc) Modified: trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java 2008-04-03 11:53:53 UTC (rev 761) +++ trunk/src/dl-learner/org/dllearner/core/owl/ObjectSomeRestriction.java 2008-04-03 11:55:26 UTC (rev 762) @@ -39,7 +39,7 @@ @Override public String toManchesterSyntaxString(String baseURI, Map<String, String> prefixes) { - return restrictedPropertyExpression.toString(baseURI, prefixes) + " only " + children.get(0).toManchesterSyntaxString(baseURI, prefixes); + return restrictedPropertyExpression.toString(baseURI, prefixes) + " some " + children.get(0).toManchesterSyntaxString(baseURI, prefixes); } /* (non-Javadoc) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-03 11:53:56
|
Revision: 761 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=761&view=rev Author: kurzum Date: 2008-04-03 04:53:53 -0700 (Thu, 03 Apr 2008) Log Message: ----------- added manchester output, changed some sysouts to logger in ROLearner added baseURI to ROLearner basically taken from ExampleBasedROLearner Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-03 09:36:39 UTC (rev 760) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-04-03 11:53:53 UTC (rev 761) @@ -387,7 +387,7 @@ for(Description c : solutions) { logger.info(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); //TODO remove this line - logger.info( "Manchester: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()) ); + logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()) ); } } logger.debug("size of candidate set: " + candidates.size()); Modified: trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-03 09:36:39 UTC (rev 760) +++ trunk/src/dl-learner/org/dllearner/algorithms/refinement/ROLearner.java 2008-04-03 11:53:53 UTC (rev 761) @@ -4,6 +4,7 @@ import java.text.DecimalFormat; import java.util.Collection; import java.util.Comparator; +import java.util.HashMap; import java.util.Iterator; import java.util.LinkedList; import java.util.List; @@ -160,6 +161,9 @@ private long improperConceptsRemovalTimeNs = 0; long someTimeNs = 0; int someCount = 0; + + // prefixes + private String baseURI; // soll später einen Operator und eine Heuristik entgegennehmen // public ROLearner(LearningProblem learningProblem, LearningProblem learningProblem2) { @@ -167,12 +171,14 @@ this.learningProblem = learningProblem; this.rs = rs; posOnly=false; + baseURI = rs.getBaseURI(); } public ROLearner(PosOnlyDefinitionLP learningProblem, ReasoningService rs) { this.posOnlyLearningProblem = learningProblem; this.rs = rs; posOnly=true; + baseURI = rs.getBaseURI(); } public static Collection<Class<? extends LearningProblem>> supportedLearningProblems() { @@ -327,10 +333,6 @@ return "refinement operator based learning algorithm"; } - public static String getUsage() { - return "algorithm = refinement;"; - } - private int coveredNegativesOrTooWeak(Description concept) { if(posOnly) return posOnlyLearningProblem.coveredPseudoNegativeExamplesOrTooWeak(concept); @@ -508,14 +510,14 @@ // } if(solutionFound) { - System.out.println(); - System.out.println("solutions:"); + logger.info("\nsolutions:"); for(Description c : solutions) { - System.out.println(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); + logger.info(" " + c + " (length " + c.getLength() +", depth " + c.getDepth() + ")"); + logger.info(" MANCHESTER: " + c.toManchesterSyntaxString(baseURI, new HashMap<String,String>()) ); } } - System.out.println("horizontal expansion: " + minimumHorizontalExpansion + " to " + maximumHorizontalExpansion); - System.out.println("size of candidate set: " + candidates.size()); + logger.info(" horizontal expansion: " + minimumHorizontalExpansion + " to " + maximumHorizontalExpansion); + logger.info(" size of candidate set: " + candidates.size()); printStatistics(true); if(stop) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-03 09:37:12
|
Revision: 760 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=760&view=rev Author: kurzum Date: 2008-04-03 02:36:39 -0700 (Thu, 03 Apr 2008) Log Message: ----------- includes validating Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/examples/KRK.java Modified: trunk/src/dl-learner/org/dllearner/examples/KRK.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-03 09:34:16 UTC (rev 759) +++ trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-03 09:36:39 UTC (rev 760) @@ -47,6 +47,7 @@ // FLAGS // + // turn off to not write the owl, needs about 30 seconds or more static boolean writeOWL = true; static boolean writeClosedOWL = true ; static boolean useTransitivity = false; @@ -55,10 +56,15 @@ static boolean useInverse = false; // dependent, love and marriage, horse and carriage static boolean useTripleSubProps = useInverse && false; + + + static String workingDir = "examples/krkworking"; + static String fileIn = workingDir+"/krkopt.data"; + static URI ontologyURI = URI.create("http://www.test.de/test"); // static SortedSet<String> fileSet = new TreeSet<String>(); - // static SortedSet<String> rankSet = new TreeSet<String>(); + static SortedSet<String> allInstances = new TreeSet<String>(); static SortedSet<String> classSet = new TreeSet<String>(); static SortedSet<String> symmetricRoleSet = new TreeSet<String>(); @@ -71,7 +77,8 @@ static NamedClass WKing = getAtomicConcept("WKing"); static NamedClass WRook = getAtomicConcept("WRook"); static NamedClass BKing = getAtomicConcept("BKing"); - static NamedClass File = getAtomicConcept("File"); + // had to rename, too much similarity to java.io.File + static NamedClass FileData = getAtomicConcept("File"); static NamedClass Rank = getAtomicConcept("Rank"); static NamedClass Piece = getAtomicConcept("Piece"); @@ -101,7 +108,19 @@ */ public static void main(String[] args) { System.out.println("Start"); - // turn off to not write the owl, needs about 30 seconds or more + workingDir = workingDir + File.separator; + if (!new File(workingDir).exists()) { + System.out.println("Created directory: " + workingDir + " : " + new File(workingDir).mkdir() + + "."); + } + + // Datei \xF6ffnen + BufferedReader in = null; + try { + in = new BufferedReader(new FileReader(fileIn)); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } // classToInd = new HashMap<String,SortedSet<String>>(); init(); @@ -110,19 +129,12 @@ Individual wkingind; Individual wrookind; Individual bkingind; - // String currentClass = ""; + + + + - String fileIn = "examples/krk/krkopt.data"; - - // Datei \xF6ffnen - BufferedReader in = null; try { - in = new BufferedReader(new FileReader(fileIn)); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - - try { String line = ""; String[] ar = new String[6]; @@ -137,6 +149,11 @@ wkingind = getIndividual("wking_" + ar[0] + ar[1] + "_" + x); wrookind = getIndividual("wrook_" + ar[2] + ar[3] + "_" + x); bkingind = getIndividual("bking_" + ar[4] + ar[5] + "_" + x); + + allInstances.add(gameind+""); + allInstances.add(wkingind+""); + allInstances.add(wrookind+""); + allInstances.add(bkingind+""); // if (x == 1) // currentClass = ar[6]; @@ -199,6 +216,7 @@ System.out.println("Finished Background"); // WRITE writeExampleSets(); + writeConciseOWLAllDifferent(); if (writeOWL) { @@ -208,6 +226,7 @@ String conceptStr = "ALL \"http://www.test.de/test#hasPiece\".(EXISTS \"http://www.test.de/test#fileDistanceLessThan6\".((NOT \"http://www.test.de/test#WKing\") AND ALL \"http://www.test.de/test#rankDistance1\".(\"http://www.test.de/test#WKing\" AND ALL \"http://www.test.de/test#fileDistanceLessThan2\".\"http://www.test.de/test#BKing\" AND ALL \"http://www.test.de/test#hasLowerFileThan\".\"http://www.test.de/test#WKing\")) AND ALL \"http://www.test.de/test#fileDistance1\".\"http://www.test.de/test#WRook\")"; //conceptStr = "ALL http://www.test.de/test#hasPiece.(EXISTS http://www.test.de/test#fileDistanceLessThan6.((NOT http://www.test.de/test#WKing) AND ALL http://www.test.de/test#rankDistance1.(http://www.test.de/test#WKing AND ALL http://www.test.de/test#fileDistanceLessThan2.http://www.test.de/test#WKing AND ALL http://www.test.de/test#hasLowerFileThan.http://www.test.de/test#WKing)) AND ALL http://www.test.de/test#fileDistance1.http://www.test.de/test#WRook)"; //conceptStr = "ALL hasPiece.(EXISTS fileDistanceLessThan6.((NOT WKing) AND ALL rankDistance1.(WKing AND ALL fileDistanceLessThan2.WKing AND ALL hasLowerFileThan.WKing)) AND ALL fileDistance1.WRook)"; + conceptStr = "ALL \"http://www.test.de/test#hasPiece\".\"http://www.test.de/test#WKing\""; OntologyCloser oc = new OntologyCloser(kb); oc.applyNumberRestrictions(); oc.verifyConcept(conceptStr); @@ -486,7 +505,7 @@ collect2.append("-\"" + individuals + "\"\n"); } - writeToFile("examples/krk/examples_for_" + keys + ".txt", collect1 + writeToFile(workingDir+"/examples_for_" + keys + ".txt", collect1 + "\n\n" + collect2 + "\n"); collect1 = new StringBuffer(); collect2 = new StringBuffer(); @@ -513,11 +532,31 @@ } } - writeToFile("examples/krk/examples_for_ZERO_and_Rest.txt", collect1 + writeToFile(workingDir+"/examples_for_ZERO_and_Rest.txt", collect1 + "\n\n" + collect2 + "\n"); System.out.println("Example sets written"); } + + protected static void writeConciseOWLAllDifferent() { + StringBuffer collect = new StringBuffer(); + System.out.println("start writing OWLAllDifferent"); + collect.append("<owl:AllDifferent>\n" + + "<owl:distinctMembers rdf:parseType=\"Collection\">\n"); + + for (String inst : allInstances) { + collect.append("<owl:Thing rdf:about=\"" + inst + "\" />\n"); + } + collect.append("</owl:distinctMembers>"+ + "</owl:AllDifferent>"); + + writeToFile(workingDir+"/owlAllDifferent.txt", collect.toString()); + + } + + + + protected static void writeOWLFile(String filename) { Iterator<String> it = classSet.iterator(); @@ -531,7 +570,7 @@ System.out.println(collect + "};"); System.out.println("Writing owl"); - File owlfile = new File("examples/krk/" + filename); + File owlfile = new File(workingDir+"/" + filename); // System.out.println(kb.toString("http://www.test.de/test", new // HashMap<String, String>())); OWLAPIReasoner.exportKBToOWL(owlfile, kb, ontologyURI); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jen...@us...> - 2008-04-03 09:34:34
|
Revision: 759 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=759&view=rev Author: jenslehmann Date: 2008-04-03 02:34:16 -0700 (Thu, 03 Apr 2008) Log Message: ----------- removed calls to deprecated method in OWL API Reasoner Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-04-02 17:17:17 UTC (rev 758) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-04-03 09:34:16 UTC (rev 759) @@ -42,37 +42,20 @@ import org.dllearner.core.config.ConfigOption; import org.dllearner.core.config.InvalidConfigOptionValueException; import org.dllearner.core.config.StringConfigOption; -import org.dllearner.core.owl.AssertionalAxiom; -import org.dllearner.core.owl.ClassAssertionAxiom; import org.dllearner.core.owl.Constant; import org.dllearner.core.owl.Datatype; import org.dllearner.core.owl.DatatypeProperty; import org.dllearner.core.owl.DatatypePropertyHierarchy; import org.dllearner.core.owl.Description; -import org.dllearner.core.owl.EquivalentClassesAxiom; -import org.dllearner.core.owl.FunctionalObjectPropertyAxiom; import org.dllearner.core.owl.Individual; -import org.dllearner.core.owl.Intersection; -import org.dllearner.core.owl.InverseObjectPropertyAxiom; import org.dllearner.core.owl.KB; import org.dllearner.core.owl.NamedClass; -import org.dllearner.core.owl.Negation; import org.dllearner.core.owl.Nothing; -import org.dllearner.core.owl.ObjectAllRestriction; import org.dllearner.core.owl.ObjectProperty; -import org.dllearner.core.owl.ObjectPropertyAssertion; import org.dllearner.core.owl.ObjectPropertyHierarchy; -import org.dllearner.core.owl.ObjectSomeRestriction; -import org.dllearner.core.owl.PropertyAxiom; -import org.dllearner.core.owl.SubClassAxiom; -import org.dllearner.core.owl.SubObjectPropertyAxiom; import org.dllearner.core.owl.SubsumptionHierarchy; -import org.dllearner.core.owl.SymmetricObjectPropertyAxiom; -import org.dllearner.core.owl.TerminologicalAxiom; import org.dllearner.core.owl.Thing; -import org.dllearner.core.owl.TransitiveObjectPropertyAxiom; import org.dllearner.core.owl.TypedConstant; -import org.dllearner.core.owl.Union; import org.dllearner.core.owl.UntypedConstant; import org.dllearner.kb.OWLFile; import org.dllearner.utilities.ConceptComparator; @@ -80,8 +63,6 @@ import org.semanticweb.owl.apibinding.OWLManager; import org.semanticweb.owl.inference.OWLReasoner; import org.semanticweb.owl.inference.OWLReasonerException; -import org.semanticweb.owl.model.AddAxiom; -import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLConstant; import org.semanticweb.owl.model.OWLDataFactory; @@ -93,7 +74,6 @@ import org.semanticweb.owl.model.OWLNamedObject; import org.semanticweb.owl.model.OWLObjectProperty; import org.semanticweb.owl.model.OWLOntology; -import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyCreationException; import org.semanticweb.owl.model.OWLOntologyFormat; import org.semanticweb.owl.model.OWLOntologyManager; @@ -476,7 +456,7 @@ private TreeSet<Description> getMoreGeneralConcepts(Description concept) { Set<Set<OWLClass>> classes = null; try { - classes = reasoner.getSuperClasses(getOWLAPIDescription(concept)); + classes = reasoner.getSuperClasses(OWLAPIDescriptionConvertVisitor.getOWLDescription(concept)); } catch (OWLReasonerException e) { e.printStackTrace(); throw new Error("OWL API classification error."); @@ -487,7 +467,7 @@ private TreeSet<Description> getMoreSpecialConcepts(Description concept) { Set<Set<OWLClass>> classes = null; try { - classes = reasoner.getSubClasses(getOWLAPIDescription(concept)); + classes = reasoner.getSubClasses(OWLAPIDescriptionConvertVisitor.getOWLDescription(concept)); } catch (OWLReasonerException e) { e.printStackTrace(); throw new Error("OWL API classification error."); @@ -541,7 +521,7 @@ @Override public boolean instanceCheck(Description concept, Individual individual) { - OWLDescription d = getOWLAPIDescription(concept); + OWLDescription d = OWLAPIDescriptionConvertVisitor.getOWLDescription(concept); OWLIndividual i = factory.getOWLIndividual(URI.create(individual.getName())); try { return reasoner.hasType(i,d,false); @@ -837,147 +817,14 @@ private static OWLDataProperty getOWLAPIDescription(DatatypeProperty datatypeProperty) { return staticFactory.getOWLDataProperty(URI.create(datatypeProperty.getName())); - } + } - @Deprecated - public static OWLDescription getOWLAPIDescription(Description concept) { - if (concept instanceof NamedClass) { - return staticFactory.getOWLClass(URI.create(((NamedClass)concept).getName())); - } else if (concept instanceof Nothing) { - return staticFactory.getOWLNothing(); - } else if (concept instanceof Thing) { - return staticFactory.getOWLThing(); - } else if (concept instanceof Negation) { - return staticFactory.getOWLObjectComplementOf( - getOWLAPIDescription(concept.getChild(0))); - } else if (concept instanceof ObjectAllRestriction) { - OWLObjectProperty role = staticFactory.getOWLObjectProperty( - URI.create(((ObjectAllRestriction) concept).getRole().getName())); - OWLDescription d = getOWLAPIDescription(concept.getChild(0)); - return staticFactory.getOWLObjectAllRestriction(role, d); - } else if(concept instanceof ObjectSomeRestriction) { - OWLObjectProperty role = staticFactory.getOWLObjectProperty( - URI.create(((ObjectSomeRestriction) concept).getRole().getName())); - OWLDescription d = getOWLAPIDescription(concept.getChild(0)); - return staticFactory.getOWLObjectSomeRestriction(role, d); - } else if(concept instanceof Intersection) { - Set<OWLDescription> descriptions = new HashSet<OWLDescription>(); - for(Description child : concept.getChildren()) - descriptions.add(getOWLAPIDescription(child)); - return staticFactory.getOWLObjectIntersectionOf(descriptions); - } else if(concept instanceof Union) { - Set<OWLDescription> descriptions = new HashSet<OWLDescription>(); - for(Description child : concept.getChildren()) - descriptions.add(getOWLAPIDescription(child)); - return staticFactory.getOWLObjectUnionOf(descriptions); - } - - throw new IllegalArgumentException("Unsupported concept type."); - } - - @Deprecated - public static void fillOWLAPIOntology(OWLOntologyManager manager, OWLOntology ontology, KB kb) { - - // OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); - OWLDataFactory factory = manager.getOWLDataFactory(); - // OWLOntology ontology = manager.createOntology(ontologyURI); - try { - for (AssertionalAxiom axiom : kb.getAbox()) { - if (axiom instanceof ClassAssertionAxiom) { - OWLDescription d = getOWLAPIDescription(((ClassAssertionAxiom) axiom) - .getConcept()); - OWLIndividual i = factory.getOWLIndividual(URI.create( - ((ClassAssertionAxiom) axiom).getIndividual().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLClassAssertionAxiom(i, d); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - - manager.applyChange(addAxiom); - - } else if (axiom instanceof ObjectPropertyAssertion) { - OWLObjectProperty role = factory.getOWLObjectProperty( - URI.create(((ObjectPropertyAssertion) axiom).getRole().getName())); - OWLIndividual i1 = factory.getOWLIndividual( - URI.create(((ObjectPropertyAssertion) axiom).getIndividual1().getName())); - OWLIndividual i2 = factory.getOWLIndividual( - URI.create(((ObjectPropertyAssertion) axiom).getIndividual2().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLObjectPropertyAssertionAxiom(i1, role, i2); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } - } - - for (PropertyAxiom axiom : kb.getRbox()) { - if (axiom instanceof FunctionalObjectPropertyAxiom) { - OWLObjectProperty role = factory.getOWLObjectProperty( - URI.create(((FunctionalObjectPropertyAxiom) axiom).getRole().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLFunctionalObjectPropertyAxiom(role); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } else if (axiom instanceof SymmetricObjectPropertyAxiom) { - OWLObjectProperty role = factory.getOWLObjectProperty( - URI.create(((SymmetricObjectPropertyAxiom) axiom).getRole().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLSymmetricObjectPropertyAxiom(role); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } else if (axiom instanceof TransitiveObjectPropertyAxiom) { - OWLObjectProperty role = factory.getOWLObjectProperty( - URI.create(((TransitiveObjectPropertyAxiom) axiom).getRole().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLTransitiveObjectPropertyAxiom(role); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } else if (axiom instanceof InverseObjectPropertyAxiom) { - OWLObjectProperty role = factory.getOWLObjectProperty( - URI.create(((InverseObjectPropertyAxiom) axiom).getRole().getName())); - OWLObjectProperty inverseRole = factory.getOWLObjectProperty( - URI.create(((InverseObjectPropertyAxiom) axiom).getInverseRole().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLInverseObjectPropertiesAxiom(role, inverseRole); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } else if (axiom instanceof SubObjectPropertyAxiom) { - OWLObjectProperty role = factory.getOWLObjectProperty( - URI.create(((SubObjectPropertyAxiom) axiom).getRole().getName())); - OWLObjectProperty subRole = factory.getOWLObjectProperty( - URI.create(((SubObjectPropertyAxiom) axiom).getSubRole().getName())); - OWLAxiom axiomOWLAPI = factory.getOWLSubObjectPropertyAxiom(subRole, role); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } - } - - for (TerminologicalAxiom axiom : kb.getTbox()) { - if (axiom instanceof EquivalentClassesAxiom) { - OWLDescription d1 = getOWLAPIDescription(((EquivalentClassesAxiom) axiom).getConcept1()); - OWLDescription d2 = getOWLAPIDescription(((EquivalentClassesAxiom) axiom).getConcept2()); - Set<OWLDescription> ds = new HashSet<OWLDescription>(); - ds.add(d1); - ds.add(d2); - OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } else if (axiom instanceof SubClassAxiom) { - OWLDescription subConcept = getOWLAPIDescription(((SubClassAxiom) axiom) - .getSubConcept()); - OWLDescription superConcept = getOWLAPIDescription(((SubClassAxiom) axiom) - .getSuperConcept()); - OWLAxiom axiomOWLAPI = factory.getOWLSubClassAxiom(subConcept, superConcept); - AddAxiom addAxiom = new AddAxiom(ontology, axiomOWLAPI); - manager.applyChange(addAxiom); - } - } - } catch (OWLOntologyChangeException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - /** * Test * * @param args */ public static void main(String[] args) { - // System.out.println(System.getProperty("java.library.path")); - String uri = "http://www.co-ode.org/ontologies/pizza/2007/02/12/pizza.owl"; OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-02 17:17:27
|
Revision: 758 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=758&view=rev Author: kurzum Date: 2008-04-02 10:17:17 -0700 (Wed, 02 Apr 2008) Log Message: ----------- configOptions.txt Modified Paths: -------------- trunk/doc/configOptions.txt Modified: trunk/doc/configOptions.txt =================================================================== --- trunk/doc/configOptions.txt 2008-04-02 16:13:35 UTC (rev 757) +++ trunk/doc/configOptions.txt 2008-04-02 17:17:17 UTC (rev 758) @@ -227,7 +227,7 @@ component: fast retrieval reasoner (org.dllearner.reasoning.FastRetrievalReasoner) ================================================================================== -CLI usage: reasoner = ; +CLI usage: reasoner = fastRetrieval; component: OWL API reasoner (org.dllearner.reasoning.OWLAPIReasoner) @@ -337,37 +337,37 @@ component: brute force learning algorithm (org.dllearner.algorithms.BruteForceLearner) ====================================================================================== -CLI usage: algorithm = ; +CLI usage: algorithm = bruteForce; option name: maxLength description: maximum length of generated concepts values: class org.dllearner.core.config.IntegerConfigOption default value: null -CLI usage: .maxLength = null; +CLI usage: bruteForce.maxLength = null; option name: returnType description: Specifies the type which the solution has to belong to (if already) known. This means we inform the learning algorithm that the solution is a subclass of this type. values: class org.dllearner.core.config.StringConfigOption default value: null -CLI usage: .returnType = null; +CLI usage: bruteForce.returnType = null; component: random guesser learning algorithm (org.dllearner.algorithms.RandomGuesser) ===================================================================================== -CLI usage: algorithm = ; +CLI usage: algorithm = random; option name: numberOfTrees description: number of randomly generated concepts/trees values: class org.dllearner.core.config.IntegerConfigOption default value: null -CLI usage: .numberOfTrees = null; +CLI usage: random.numberOfTrees = null; option name: maxDepth description: maximum depth of generated concepts/trees values: class org.dllearner.core.config.IntegerConfigOption default value: null -CLI usage: .maxDepth = null; +CLI usage: random.maxDepth = null; component: genetic programming learning algorithm (org.dllearner.algorithms.gp.GP) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sk...@us...> - 2008-04-02 16:13:41
|
Revision: 757 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=757&view=rev Author: sknappe Date: 2008-04-02 09:13:35 -0700 (Wed, 02 Apr 2008) Log Message: ----------- get examples for concept works, but not yet perfect Modified Paths: -------------- trunk/src/dbpedia-navigator/DLLearnerConnection.php trunk/src/dbpedia-navigator/NaturalConcepts.php trunk/src/dbpedia-navigator/ajaxfunctions.php Modified: trunk/src/dbpedia-navigator/DLLearnerConnection.php =================================================================== --- trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-04-02 16:02:52 UTC (rev 756) +++ trunk/src/dbpedia-navigator/DLLearnerConnection.php 2008-04-02 16:13:35 UTC (rev 757) @@ -227,8 +227,7 @@ function getSubjectsFromConcept($concept) { - $query="SELECT DISTINCT ?subject\n". - "WHERE { ?subject a <".$concept.">}\n"; + $query=$this->client->SparqlRetrieval($concept); $result=json_decode($this->getSparqlResultThreaded($query),true); if (count($result['results']['bindings'])==0) throw new Exception("Your query brought no result."); $ret=array(); Modified: trunk/src/dbpedia-navigator/NaturalConcepts.php =================================================================== --- trunk/src/dbpedia-navigator/NaturalConcepts.php 2008-04-02 16:02:52 UTC (rev 756) +++ trunk/src/dbpedia-navigator/NaturalConcepts.php 2008-04-02 16:13:35 UTC (rev 757) @@ -50,10 +50,72 @@ print $query; return $query; } + + function getSparqlQuery() + { + $temp=$this->concept; + $andOrParts=$this->getAndOrParts($temp); + print_r($andOrParts); + } + + function getAndOrParts($temp) + { + $split=preg_split("/(OR)|(AND)/",$temp,-1,PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY); + $bracket=0; + $arr=array(); + $temppart=""; + foreach ($split as $part){ + $part=trim($part); + if (strpos($part,"(")===0){ + $bracket+=substr_count($part,"("); + } + if ($bracket>0){ + if (($part=="AND")||($part=="OR")) $temppart.=" ".$part." "; + else $temppart.=$part; + } + else{ + if ((!strpos($part,"AND"))&&(!strpos($part,"OR"))) $arr[]=$part; + else $arr[]=$this->getAndOrParts($part); + } + if ((strrpos($part,')')==(strlen($part)-1))&&($bracket>0)){ + $bracket-=substr_count($part,")"); + if ($bracket==0){ + if ((!strpos($temppart,"AND"))&&(!strpos($temppart,"OR"))) $arr[]=substr($temppart,1,strlen($temppart)-2); + else $arr[]=$this->getAndOrParts(substr($temppart,1,strlen($temppart)-2)); + $temppart=""; + } + } + } + return $arr; + } + + function isExistsConstruct($construct) + { + if (!(strpos($construct,"EXISTS")===0)) return false; + $split=preg_split("/(EXISTS \".*\")\./",$construct,-1,PREG_SPLIT_NO_EMPTY); + $afterdot=$split[0]; + print $afterdot; + $bracket=0; + $offset=0; + do{ + $nextBracketOn=strpos($afterdot,"(",$offset); + $nextBracketOff=strpos($afterdot,")",$offset); + print "On: ".$nextBracketOn+1; + print "Off: ".$nextBracketOff+1; + $min=min($nextBracketOn,$nextBracketOff); + print $min+1; + if ($nextBracketOn==$min) $bracket++; + if ($nextBracketOff==$min) $bracket--; + $offset=$min; + } while(($bracket>0)||($offset>=strlen($afterdot)-1)); + print ($offset); + return true; + } } -$conc="EXISTS http://dbpedia.org/property/website.TOP AND http://dbpedia.org/resource/Berlin"; +//$conc="(EXISTS http://dbpedia.org/property/website.(http://dbpedia.org/resource/Berlin AND http://dbpedia.org/resource/Berlin) OR (http://dbpedia.org/resource/Berlin AND http://dbpedia.org/resource/Berlin)) OR http://dbpedia.org/resource/Berlin"; +$conc="EXISTS \"http://dbpedia.org/property/website\".(http://dbpedia.org/resource/Berlin AND http://dbpedia.org/resource/Berlin)"; $nc=new NaturalConcepts($conc); -$ic=$nc->getNaturalConcept(); +$ic=$nc->isExistsConstruct($conc); //print_r($ic); ?> \ No newline at end of file Modified: trunk/src/dbpedia-navigator/ajaxfunctions.php =================================================================== --- trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-04-02 16:02:52 UTC (rev 756) +++ trunk/src/dbpedia-navigator/ajaxfunctions.php 2008-04-02 16:13:35 UTC (rev 757) @@ -392,7 +392,7 @@ $concept.="<table border=0>\n"; $i=1; foreach ($concepts as $con){ - $concept.="<tr><td><a href=\"\" onclick=\"xajax_getSubjectsFromConcept('".$con."');return false;\" onMouseOver=\"showdiv('div".$i."');showdiv('ConceptBox');\" onMouseOut=\"hidediv('div".$i."');hidediv('ConceptBox');\" />".$con."</a></td></tr>"; + $concept.="<tr><td><a href=\"\" onclick=\"xajax_getSubjectsFromConcept('".urlencode($con)."');return false;\" onMouseOver=\"showdiv('div".$i."');showdiv('ConceptBox');\" onMouseOut=\"hidediv('div".$i."');hidediv('ConceptBox');\" />".$con."</a></td></tr>"; //put information about concepts in divs $conceptinformation.="<div id=\"div".$i."\" style=\"display:none\">Concept Depth: ".$conceptDepth[$i-1]."<br/>Concept Arity: ".$conceptArity[$i-1]."<br/>Concept Length: ".$sc->getConceptLength($con)."</div>"; $i++; @@ -421,6 +421,7 @@ setRunning($id,"true"); + $concept=urldecode($concept); $content=""; try{ require_once("DLLearnerConnection.php"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-02 16:02:57
|
Revision: 756 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=756&view=rev Author: kurzum Date: 2008-04-02 09:02:52 -0700 (Wed, 02 Apr 2008) Log Message: ----------- added remaining mappings Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/cli/Start.java Modified: trunk/src/dl-learner/org/dllearner/cli/Start.java =================================================================== --- trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-04-02 15:52:08 UTC (rev 755) +++ trunk/src/dl-learner/org/dllearner/cli/Start.java 2008-04-02 16:02:52 UTC (rev 756) @@ -226,14 +226,23 @@ componentPrefixMapping.put(DIGReasoner.class, "digReasoner"); componentPrefixMapping.put(FastInstanceChecker.class, "fastInstanceChecker"); componentPrefixMapping.put(OWLAPIReasoner.class, "owlAPIReasoner"); + componentPrefixMapping.put(FastRetrievalReasoner.class, "fastRetrieval"); + + // learning problems - configured via + and - flags for examples componentPrefixMapping.put(PosNegDefinitionLP.class, "posNegDefinitionLP"); componentPrefixMapping.put(PosNegInclusionLP.class, "posNegInclusionLP"); componentPrefixMapping.put(PosOnlyDefinitionLP.class, "posOnlyDefinitionLP"); + + // learning algorithms componentPrefixMapping.put(ROLearner.class, "refinement"); componentPrefixMapping.put(ExampleBasedROLComponent.class, "refexamples"); componentPrefixMapping.put(GP.class, "gp"); + componentPrefixMapping.put(BruteForceLearner.class, "bruteForce"); + componentPrefixMapping.put(RandomGuesser.class, "random"); + + return componentPrefixMapping; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-02 15:39:36
|
Revision: 754 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=754&view=rev Author: kurzum Date: 2008-04-02 08:39:32 -0700 (Wed, 02 Apr 2008) Log Message: ----------- working ontology closer, I put it here, because I wasn't sure where and how to integrate it, code could be better Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/examples/KRK.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java Modified: trunk/src/dl-learner/org/dllearner/examples/KRK.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-02 15:37:21 UTC (rev 753) +++ trunk/src/dl-learner/org/dllearner/examples/KRK.java 2008-04-02 15:39:32 UTC (rev 754) @@ -47,6 +47,11 @@ // FLAGS // + static boolean writeOWL = true; + static boolean writeClosedOWL = true ; + static boolean useTransitivity = false; + + static boolean useInverse = false; // dependent, love and marriage, horse and carriage static boolean useTripleSubProps = useInverse && false; @@ -97,7 +102,6 @@ public static void main(String[] args) { System.out.println("Start"); // turn off to not write the owl, needs about 30 seconds or more - boolean writeOWL = true; // classToInd = new HashMap<String,SortedSet<String>>(); init(); @@ -125,7 +129,8 @@ int x = 0; while ((line = in.readLine()) != null) { x++; - if(x % 3000 == 0 ) System.out.println("Currently at line"+x); + if (x % 3000 == 0) + System.out.println("Currently at line" + x); ar = tokenize(line); gameind = getIndividual("game" + x); @@ -194,8 +199,20 @@ System.out.println("Finished Background"); // WRITE writeExampleSets(); - if (writeOWL) + + + if (writeOWL) { writeOWLFile("test.owl"); + } + if(writeClosedOWL) { + String conceptStr = "ALL \"http://www.test.de/test#hasPiece\".(EXISTS \"http://www.test.de/test#fileDistanceLessThan6\".((NOT \"http://www.test.de/test#WKing\") AND ALL \"http://www.test.de/test#rankDistance1\".(\"http://www.test.de/test#WKing\" AND ALL \"http://www.test.de/test#fileDistanceLessThan2\".\"http://www.test.de/test#BKing\" AND ALL \"http://www.test.de/test#hasLowerFileThan\".\"http://www.test.de/test#WKing\")) AND ALL \"http://www.test.de/test#fileDistance1\".\"http://www.test.de/test#WRook\")"; + //conceptStr = "ALL http://www.test.de/test#hasPiece.(EXISTS http://www.test.de/test#fileDistanceLessThan6.((NOT http://www.test.de/test#WKing) AND ALL http://www.test.de/test#rankDistance1.(http://www.test.de/test#WKing AND ALL http://www.test.de/test#fileDistanceLessThan2.http://www.test.de/test#WKing AND ALL http://www.test.de/test#hasLowerFileThan.http://www.test.de/test#WKing)) AND ALL http://www.test.de/test#fileDistance1.http://www.test.de/test#WRook)"; + //conceptStr = "ALL hasPiece.(EXISTS fileDistanceLessThan6.((NOT WKing) AND ALL rankDistance1.(WKing AND ALL fileDistanceLessThan2.WKing AND ALL hasLowerFileThan.WKing)) AND ALL fileDistance1.WRook)"; + OntologyCloser oc = new OntologyCloser(kb); + oc.applyNumberRestrictions(); + oc.verifyConcept(conceptStr); + writeOWLFile("test_Closed.owl"); + } } catch (Exception e) { e.printStackTrace(); @@ -329,9 +346,10 @@ static void finishBackgroundForRoles() { - kb.addRBoxAxiom(new TransitiveObjectPropertyAxiom(rankLessThan)); - kb.addRBoxAxiom(new TransitiveObjectPropertyAxiom(fileLessThan)); - + if (useTransitivity) { + kb.addRBoxAxiom(new TransitiveObjectPropertyAxiom(rankLessThan)); + kb.addRBoxAxiom(new TransitiveObjectPropertyAxiom(fileLessThan)); + } if (useInverse) // INVERSE { @@ -456,15 +474,15 @@ } protected static void writeExampleSets() { - StringBuffer collect1 = new StringBuffer(); + StringBuffer collect1 = new StringBuffer(); StringBuffer collect2 = new StringBuffer(); System.out.println("start writing sets"); - + for (String keys : classToInd.keySet()) { System.out.println(keys); SortedSet<String> tmpset = classToInd.get(keys); for (String individuals : tmpset) { - collect1.append( "+\"" + individuals + "\"\n"); + collect1.append("+\"" + individuals + "\"\n"); collect2.append("-\"" + individuals + "\"\n"); } @@ -473,7 +491,7 @@ collect1 = new StringBuffer(); collect2 = new StringBuffer(); } - //System.out.println("Sets written"); + // System.out.println("Sets written"); collect1 = new StringBuffer(); collect2 = new StringBuffer(); for (String key : classToInd.keySet()) { @@ -481,16 +499,16 @@ SortedSet<String> tmpset = classToInd.get(key); if (key.equals("ZERO")) { - collect1.append( "/**" + key + "**/\n"); + collect1.append("/**" + key + "**/\n"); for (String individuals : tmpset) { - collect1.append( "+\"" + individuals + "\"\n"); + collect1.append("+\"" + individuals + "\"\n"); } continue; } else { - collect2.append( "/**" + key + "**/\n"); + collect2.append("/**" + key + "**/\n"); for (String individuals : tmpset) { - collect2.append( "-\"" + individuals + "\"\n"); + collect2.append("-\"" + individuals + "\"\n"); } } Added: trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java =================================================================== --- trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/examples/OntologyCloser.java 2008-04-02 15:39:32 UTC (rev 754) @@ -0,0 +1,102 @@ +package org.dllearner.examples; + +import java.util.HashSet; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; + +import org.dllearner.core.KnowledgeSource; +import org.dllearner.core.ReasoningService; +import org.dllearner.core.owl.ClassAssertionAxiom; +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.core.owl.KB; +import org.dllearner.core.owl.ObjectExactCardinalityRestriction; +import org.dllearner.core.owl.ObjectProperty; +import org.dllearner.core.owl.PropertyAxiom; +import org.dllearner.core.owl.Thing; +import org.dllearner.kb.KBFile; +import org.dllearner.parser.KBParser; +import org.dllearner.reasoning.OWLAPIReasoner; + +public class OntologyCloser { + KB kb; + KBFile kbFile; + Set<KnowledgeSource> ks; + ReasoningService rs; + + public OntologyCloser(KB kb) { + super(); + this.kb = kb; + this.kbFile = new KBFile(this.kb); + this.ks = new HashSet<KnowledgeSource>(); + this.ks.add(this.kbFile); + OWLAPIReasoner owlapi = new OWLAPIReasoner(ks); + owlapi.init(); + + this.rs = new ReasoningService(owlapi); + + } + + /** + * counts the number of roles used by each individual and assigns + * ExactCardinalityRestriction + */ + public void applyNumberRestrictions() { + Set<ObjectProperty> allRoles = this.rs.getAtomicRoles(); + // Set<Individual> allind = this.rs.getIndividuals(); + Set<PropertyAxiom> ax = kb.getRbox(); + for (PropertyAxiom propertyAxiom : ax) { + if (propertyAxiom.getClass().getSimpleName().equals( + "TransitiveObjectPropertyAxiom")) { + + System.out + .println("WARNING transitive object property can't be used in cardinality restriction\n" + + propertyAxiom.toString()); + } + } + + for (ObjectProperty oneRole : allRoles) { + + // System.out.println(oneRole.getClass()); + Map<Individual, SortedSet<Individual>> allRoleMembers = this.rs + .getRoleMembers(oneRole); + for (Individual oneInd : allRoleMembers.keySet()) { + SortedSet<Individual> fillers = allRoleMembers.get(oneInd); + if (fillers.size() > 0) { + ObjectExactCardinalityRestriction oecr = new ObjectExactCardinalityRestriction( + fillers.size(), oneRole, new Thing()); + kb.addABoxAxiom(new ClassAssertionAxiom(oecr, oneInd)); + } + } + + } + // System.out.println("good ontology? " + rs.isSatisfiable()); + + } + + public static void closeKB(KB kb) { + new OntologyCloser(kb).applyNumberRestrictions(); + } + + public void verifyConcept(String conceptStr) { + Description d; + StringBuffer sb = new StringBuffer(); + sb.append(conceptStr); + conceptStr = sb.toString(); + try { + d = KBParser.parseConcept(conceptStr); + System.out.println("Starting retrieval"); + SortedSet<Individual> ind = this.rs.retrieval(d); + System.out.println("retrieved: " + ind.size() + " instances"); + + for (Individual individual : ind) { + System.out.println(individual + ""); + } + + } catch (Exception e) { + e.printStackTrace(); + } + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-04-02 15:37:27
|
Revision: 753 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=753&view=rev Author: kurzum Date: 2008-04-02 08:37:21 -0700 (Wed, 02 Apr 2008) Log Message: ----------- updated ExactCardinalityRestriction for export Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java 2008-04-02 15:35:39 UTC (rev 752) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIDescriptionConvertVisitor.java 2008-04-02 15:37:21 UTC (rev 753) @@ -192,8 +192,15 @@ * @see org.dllearner.core.owl.DescriptionVisitor#visit(org.dllearner.core.owl.ObjectExactCardinalityRestriction) */ public void visit(ObjectExactCardinalityRestriction description) { - // TODO Auto-generated method stub - throw new Error("OWLAPIDescriptionConverter: not implemented"); + // TODO Taken from ObjectSomeRestriction above, hope its correct + //throw new Error("OWLAPIDescriptionConverter: not implemented"); + OWLObjectProperty role = factory.getOWLObjectProperty( + URI.create(description.getRole().getName())); + description.getChild(0).accept(this); + OWLDescription d = stack.pop(); + int minmax = description.getCardinality(); + stack.push(factory.getOWLObjectExactCardinalityRestriction(role, minmax, d)); + } /* (non-Javadoc) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |