From: <lor...@us...> - 2009-04-02 08:49:25
|
Revision: 1680 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1680&view=rev Author: lorenz_b Date: 2009-04-02 08:49:20 +0000 (Thu, 02 Apr 2009) Log Message: ----------- added classes used to compute precise explanations Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BaseDescriptionGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BetaGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BottomTester.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TauGenerator.java trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TopTester.java Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BaseDescriptionGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BaseDescriptionGenerator.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BaseDescriptionGenerator.java 2009-04-02 08:49:20 UTC (rev 1680) @@ -0,0 +1,266 @@ + +package org.dllearner.tools.ore.explanation; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataAllRestriction; +import org.semanticweb.owl.model.OWLDataExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDataMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataPropertyExpression; +import org.semanticweb.owl.model.OWLDataRange; +import org.semanticweb.owl.model.OWLDataSomeRestriction; +import org.semanticweb.owl.model.OWLDataValueRestriction; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLDescriptionVisitorEx; +import org.semanticweb.owl.model.OWLIndividual; +import org.semanticweb.owl.model.OWLObjectAllRestriction; +import org.semanticweb.owl.model.OWLObjectExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectIntersectionOf; +import org.semanticweb.owl.model.OWLObjectOneOf; +import org.semanticweb.owl.model.OWLObjectPropertyExpression; +import org.semanticweb.owl.model.OWLObjectSelfRestriction; +import org.semanticweb.owl.model.OWLObjectSomeRestriction; +import org.semanticweb.owl.model.OWLObjectUnionOf; +import org.semanticweb.owl.model.OWLObjectValueRestriction; + + + +public abstract class BaseDescriptionGenerator + implements OWLDescriptionVisitorEx<Set<OWLDescription>> +{ + private OWLDataFactory factory; + private static TopTester topChecker = new TopTester(); + private static BottomTester bottomChecker = new BottomTester(); + + public BaseDescriptionGenerator(OWLDataFactory factory) + { + this.factory = factory; + } + + public boolean isThing(OWLDescription description) + { + return ((Boolean)description.accept(topChecker)).booleanValue(); + } + + public boolean isNothing(OWLDescription description) + { + return ((Boolean)description.accept(bottomChecker)).booleanValue(); + } + + public OWLDataFactory getDataFactory() + { + return factory; + } + + public Set<OWLDescription> computeTau(OWLDescription desc) + { + TauGenerator gen = new TauGenerator(factory); + return desc.accept(gen); + } + + public Set<OWLDescription> computeBeta(OWLDescription desc) + { + BetaGenerator gen = new BetaGenerator(factory); + return (Set<OWLDescription>)desc.accept(gen); + } + + private Set<Set<OWLDescription>> computeReplacements(Set<OWLDescription> operands) + {System.out.println("Eingabe : " + operands); + Set<List<OWLDescription>> ps = new HashSet<List<OWLDescription>>(); + ps.add(new ArrayList()); + + for(OWLDescription op : operands) + { + Set<List<OWLDescription>> pscopy = new HashSet<List<OWLDescription>>(ps); + + for(OWLDescription d : (Set<OWLDescription>)op.accept(this)) { + for(List<OWLDescription> pselement : pscopy) { + ArrayList<OWLDescription> union = new ArrayList<OWLDescription>(); + union.addAll(pselement); + union.add(d); + ps.remove(pselement); + ps.add(union); + } + } + } + + Set<Set<OWLDescription>> result = new HashSet<Set<OWLDescription>>(); + + for(List<OWLDescription> desc : ps ){ + result.add(new HashSet<OWLDescription>(desc)); + }System.out.println("Ergebnis : " + result); + return result; + } + + public Set<OWLDescription> visit(OWLObjectIntersectionOf desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + Set<Set<OWLDescription>> conjunctions = computeReplacements(desc.getOperands()); + for(Set<OWLDescription> conjuncts : conjunctions){ + + for(OWLDescription conjunct : conjuncts){ + if(isThing(conjunct)){ + conjuncts.remove(conjunct); + } + } + + if(conjuncts.isEmpty()) + descs.add(factory.getOWLThing()); + else + if(conjuncts.size() != 1) + descs.add(factory.getOWLObjectIntersectionOf(conjuncts)); + else + descs.addAll(conjuncts); + } + + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectUnionOf desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + Set<Set<OWLDescription>> disjunctions = computeReplacements(desc.getOperands()); + for(Set<OWLDescription> disjuncts : disjunctions){ + + for(OWLDescription disjunct : disjuncts){ + if(isNothing(disjunct)){ + disjuncts.remove(disjunct); + } + } + if(disjuncts.size() != 1){ + descs.add(factory.getOWLObjectUnionOf(disjuncts)); + } else{ +// descs.add(disjuncts.iterator().next()); + descs.addAll(disjuncts); + } + } + + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectSomeRestriction desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + descs.add(desc); + for(OWLDescription filler : desc.getFiller().accept(this)){ + if(!isNothing(filler)) + descs.add(factory.getOWLObjectSomeRestriction((OWLObjectPropertyExpression)desc.getProperty(), filler)); + } + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectAllRestriction desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + + for(OWLDescription filler : desc.getFiller().accept(this)){ + if(!isThing(filler)) + descs.add(factory.getOWLObjectAllRestriction((OWLObjectPropertyExpression)desc.getProperty(), filler)); + } + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectValueRestriction desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + descs.add(desc); + + for(OWLDescription filler : factory.getOWLObjectOneOf(new OWLIndividual[] {(OWLIndividual)desc.getValue()}).accept(this)){ + descs.add(factory.getOWLObjectSomeRestriction((OWLObjectPropertyExpression)desc.getProperty(), filler)); + } + + + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectExactCardinalityRestriction desc) + { + Set<OWLDescription> result = new HashSet<OWLDescription>(); + OWLDescription min = getDataFactory().getOWLObjectMinCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), desc.getCardinality(), (OWLDescription)desc.getFiller()); + result.addAll(min.accept(this)); + OWLDescription max = getDataFactory().getOWLObjectMaxCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), desc.getCardinality(), (OWLDescription)desc.getFiller()); + result.addAll(max.accept(this)); + result.add(getLimit()); + return result; + } + + public Set<OWLDescription> visit(OWLObjectSelfRestriction desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + descs.add(desc); + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectOneOf desc) + { + Set<OWLDescription> ops = new HashSet<OWLDescription>(); + if(desc.getIndividuals().size() == 1) + { + ops.add(desc); + ops.add(getLimit()); + return ops; + } + + for(OWLIndividual ind : desc.getIndividuals()){ + ops.add(factory.getOWLObjectOneOf(new OWLIndividual[] {ind})); + } + + OWLDescription rewrite = factory.getOWLObjectUnionOf(ops); + return rewrite.accept(this); + } + + protected abstract OWLClass getLimit(); + + protected abstract OWLDataRange getDataLimit(); + + public Set<OWLDescription> visit(OWLDataSomeRestriction desc) + { + return Collections.singleton((OWLDescription)desc); + } + + public Set<OWLDescription> visit(OWLDataAllRestriction desc) + { + return Collections.singleton((OWLDescription)desc); + } + + public Set<OWLDescription> visit(OWLDataValueRestriction desc) + { + Set<OWLDescription> result = new HashSet<OWLDescription>(2); + result.add(desc); + result.add(getDataFactory().getOWLDataSomeRestriction((OWLDataPropertyExpression)desc.getProperty(), getDataLimit())); + return result; + } + + public Set<OWLDescription> visit(OWLDataMinCardinalityRestriction desc) + { + return Collections.singleton((OWLDescription)desc); + } + + public Set<OWLDescription> visit(OWLDataExactCardinalityRestriction desc) + { + return Collections.singleton((OWLDescription)desc); + } + + public Set<OWLDescription> visit(OWLDataMaxCardinalityRestriction desc) + { + return Collections.singleton((OWLDescription)desc); + } + + + + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BetaGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BetaGenerator.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BetaGenerator.java 2009-04-02 08:49:20 UTC (rev 1680) @@ -0,0 +1,115 @@ + + +package org.dllearner.tools.ore.explanation; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDataRange; +import org.semanticweb.owl.model.OWLDataValueRestriction; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLObjectComplementOf; +import org.semanticweb.owl.model.OWLObjectExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectPropertyExpression; +import org.semanticweb.owl.model.OWLObjectUnionOf; + + + +public class BetaGenerator extends BaseDescriptionGenerator +{ + + public BetaGenerator(OWLDataFactory factory) + { + super(factory); + } + + public Set<OWLDescription> visit(OWLClass desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(3); + descs.add(desc); + descs.add(getDataFactory().getOWLNothing()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectComplementOf desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + + for(OWLDescription d : computeTau(desc.getOperand())){ + descs.add(getDataFactory().getOWLObjectComplementOf(d)); + } + + return descs; + } + + protected Set<OWLDescription> compute(OWLDescription description) + { + return computeBeta(description); + } + + public Set<OWLDescription> visit(OWLObjectMaxCardinalityRestriction desc) + { + Set<OWLDescription> fillers = computeTau(desc.getFiller()); + Set<OWLDescription> result = new HashSet<OWLDescription>(); + for(int n = desc.getCardinality(); n > 0; n--) + { + for(OWLDescription filler : fillers){ + result.add(getDataFactory().getOWLObjectMinCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), n, filler)); + } + } + + result.add(getLimit()); + return result; + } + + public Set<OWLDescription> visit(OWLObjectExactCardinalityRestriction desc) + { + Set<OWLDescription> fillers = computeBeta((OWLDescription)desc.getFiller()); + Set<OWLDescription> result = new HashSet<OWLDescription>(); + + for(OWLDescription filler : fillers){ + result.add(getDataFactory().getOWLObjectExactCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), desc.getCardinality(), filler)); + } + result.add(getLimit()); + return result; + } + + public Set<OWLDescription> visit(OWLObjectUnionOf desc) + { + return super.visit(desc); + } + + public Set<OWLDescription> visit(OWLObjectMinCardinalityRestriction desc) + { + Set<OWLDescription> fillers = computeBeta((OWLDescription)desc.getFiller()); + Set<OWLDescription> result = new HashSet<OWLDescription>(); + + for(OWLDescription filler : fillers){ + result.add(getDataFactory().getOWLObjectMinCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), desc.getCardinality(), filler)); + } + result.add(getLimit()); + return result; + } + + protected OWLClass getLimit() + { + return getDataFactory().getOWLNothing(); + } + + protected OWLDataRange getDataLimit() + { + return getDataFactory().getOWLDataComplementOf(getDataFactory().getTopDataType()); + } + + public Set<OWLDescription> visit(OWLDataValueRestriction desc) + { + return Collections.singleton((OWLDescription)desc); + } + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BottomTester.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BottomTester.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/BottomTester.java 2009-04-02 08:49:20 UTC (rev 1680) @@ -0,0 +1,129 @@ + +package org.dllearner.tools.ore.explanation; + +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataAllRestriction; +import org.semanticweb.owl.model.OWLDataExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataSomeRestriction; +import org.semanticweb.owl.model.OWLDataValueRestriction; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLDescriptionVisitorEx; +import org.semanticweb.owl.model.OWLObjectAllRestriction; +import org.semanticweb.owl.model.OWLObjectComplementOf; +import org.semanticweb.owl.model.OWLObjectExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectIntersectionOf; +import org.semanticweb.owl.model.OWLObjectMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectOneOf; +import org.semanticweb.owl.model.OWLObjectSelfRestriction; +import org.semanticweb.owl.model.OWLObjectSomeRestriction; +import org.semanticweb.owl.model.OWLObjectUnionOf; +import org.semanticweb.owl.model.OWLObjectValueRestriction; + +public class BottomTester implements OWLDescriptionVisitorEx<Boolean> +{ + + @Override + public Boolean visit(OWLClass owlClass) { + + return Boolean.valueOf(owlClass.isOWLNothing()); + } + + @Override + public Boolean visit(OWLObjectIntersectionOf intersect) { + for(OWLDescription desc : intersect.getOperands()){ + if (((Boolean) desc.accept(this)).booleanValue()) { + return Boolean.valueOf(true); + } + } + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLObjectUnionOf union) { + for(OWLDescription desc : union.getOperands()){ + if (((Boolean) desc.accept(this)).booleanValue()) { + return Boolean.valueOf(true); + } + } + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLObjectComplementOf desc) { + return Boolean.valueOf(desc.isOWLThing()); + } + + @Override + public Boolean visit(OWLObjectSomeRestriction desc) { + return (Boolean) ((OWLDescription) desc.getFiller()).accept(this); + } + + @Override + public Boolean visit(OWLObjectAllRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLObjectValueRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLObjectMinCardinalityRestriction desc) { + return (Boolean) ((OWLDescription) desc.getFiller()).accept(this); + } + + @Override + public Boolean visit(OWLObjectExactCardinalityRestriction desc) { + return (Boolean) ((OWLDescription) desc.getFiller()).accept(this); + } + + @Override + public Boolean visit(OWLObjectMaxCardinalityRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLObjectSelfRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLObjectOneOf arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLDataSomeRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLDataAllRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLDataValueRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLDataMinCardinalityRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLDataExactCardinalityRestriction arg0) { + return Boolean.valueOf(false); + } + + @Override + public Boolean visit(OWLDataMaxCardinalityRestriction arg0) { + return Boolean.valueOf(false); + } + +} \ No newline at end of file Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TauGenerator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TauGenerator.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TauGenerator.java 2009-04-02 08:49:20 UTC (rev 1680) @@ -0,0 +1,82 @@ + +package org.dllearner.tools.ore.explanation; + +import java.util.HashSet; +import java.util.Set; + +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDataRange; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLObjectComplementOf; +import org.semanticweb.owl.model.OWLObjectMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectPropertyExpression; + + +public class TauGenerator extends BaseDescriptionGenerator +{ + + public TauGenerator(OWLDataFactory factory) + { + super(factory); + } + + public Set<OWLDescription> visit(OWLClass desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + descs.add(desc); + descs.add(getDataFactory().getOWLThing()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectComplementOf desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + + for(OWLDescription d : computeBeta(desc.getOperand())){ + descs.add(getDataFactory().getOWLObjectComplementOf(d)); + } + return descs; + } + + public Set<OWLDescription> visit(OWLObjectMaxCardinalityRestriction desc) + { + Set<OWLDescription> descs = new HashSet<OWLDescription>(); + + for(OWLDescription filler : computeBeta(desc.getFiller())){ + descs.add(getDataFactory().getOWLObjectMaxCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), desc.getCardinality(), filler)); + } + descs.add(getLimit()); + return descs; + } + + public Set<OWLDescription> visit(OWLObjectMinCardinalityRestriction desc) + { + Set<OWLDescription> weakenedFillers = computeTau((OWLDescription)desc.getFiller()); + Set<OWLDescription> result = new HashSet<OWLDescription>(); + for(int n = desc.getCardinality(); n > 0; n--) + { + + for(OWLDescription filler : weakenedFillers ){ + result.add(getDataFactory().getOWLObjectMinCardinalityRestriction((OWLObjectPropertyExpression)desc.getProperty(), n, filler)); + } + + } + + result.add(getLimit()); + return result; + } + + protected OWLClass getLimit() + { + return getDataFactory().getOWLThing(); + } + + protected OWLDataRange getDataLimit() + { + return getDataFactory().getTopDataType(); + } + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TopTester.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TopTester.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/explanation/TopTester.java 2009-04-02 08:49:20 UTC (rev 1680) @@ -0,0 +1,142 @@ + + +package org.dllearner.tools.ore.explanation; + +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDataAllRestriction; +import org.semanticweb.owl.model.OWLDataExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLDataSomeRestriction; +import org.semanticweb.owl.model.OWLDataValueRestriction; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLDescriptionVisitorEx; +import org.semanticweb.owl.model.OWLObjectAllRestriction; +import org.semanticweb.owl.model.OWLObjectComplementOf; +import org.semanticweb.owl.model.OWLObjectExactCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectIntersectionOf; +import org.semanticweb.owl.model.OWLObjectMaxCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectMinCardinalityRestriction; +import org.semanticweb.owl.model.OWLObjectOneOf; +import org.semanticweb.owl.model.OWLObjectSelfRestriction; +import org.semanticweb.owl.model.OWLObjectSomeRestriction; +import org.semanticweb.owl.model.OWLObjectUnionOf; +import org.semanticweb.owl.model.OWLObjectValueRestriction; + + + +public class TopTester + implements OWLDescriptionVisitorEx<Boolean> +{ + + public TopTester() + { + bottomChecker = new BottomTester(); + } + + public Boolean visit(OWLClass desc) + { + return Boolean.valueOf(desc.isOWLThing()); + } + + public Boolean visit(OWLObjectIntersectionOf desc) + { + for(OWLDescription op : desc.getOperands()){ + if(!((Boolean)op.accept(this)).booleanValue()){ + return Boolean.valueOf(false); + } + } + + return Boolean.valueOf(true); + } + + public Boolean visit(OWLObjectUnionOf desc) + { + for(OWLDescription op : desc.getOperands()){ + if(((Boolean)op.accept(this)).booleanValue()){ + return Boolean.valueOf(true); + } + } + + return Boolean.valueOf(false); + } + + public Boolean visit(OWLObjectComplementOf desc) + { + return (Boolean)desc.getOperand().accept(bottomChecker); + } + + public Boolean visit(OWLObjectSomeRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLObjectAllRestriction desc) + { + return (Boolean)((OWLDescription)desc.getFiller()).accept(this); + } + + public Boolean visit(OWLObjectValueRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLObjectMinCardinalityRestriction desc) + { + return Boolean.valueOf(desc.getCardinality() == 0); + } + + public Boolean visit(OWLObjectExactCardinalityRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLObjectMaxCardinalityRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLObjectSelfRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLObjectOneOf desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLDataSomeRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLDataAllRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLDataValueRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLDataMinCardinalityRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLDataExactCardinalityRestriction desc) + { + return Boolean.valueOf(false); + } + + public Boolean visit(OWLDataMaxCardinalityRestriction desc) + { + return Boolean.valueOf(false); + } + + + + private BottomTester bottomChecker; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |