protected boolean isSubsumedBy(final ATermAppl a, final ATermAppl b) { return _kb.isSubClassOf(a, b); }
protected boolean isSubsumedBy(final ATermAppl a, final ATermAppl b) { return _kb.isSubClassOf(a, b); }
@Override protected boolean isSubsumedBy(final ATermAppl a, final ATermAppl b) { final ATermAppl someB = ATermUtils.makeSomeValues(_p, b); return _kb.isSubClassOf(a, someB); } }
@Override public boolean contains(final KnowledgeBase kb, final GraphLoader loader, final Node s, final Node p, final Node o) { return kb.isSubClassOf(loader.node2term(s), loader.node2term(o)); } });
@Override public boolean contains(final KnowledgeBase kb, final GraphLoader loader, final Node s, final Node p, final Node o) { return kb.isSubClassOf(loader.node2term(s), loader.node2term(o)); } });
@Override public boolean contains(final KnowledgeBase kb, final GraphLoader loader, final Node s, final Node p, final Node o) { return kb.isSubClassOf(loader.node2term(s), loader.node2term(o)); } });
@Override protected boolean isSubsumedBy(final ATermAppl a, final ATermAppl b) { final ATermAppl someB = ATermUtils.makeSomeValues(_p, b); return _kb.isSubClassOf(a, someB); } }
@Override public void visit(final OWLSubClassOfAxiom axiom) { _isEntailed = _kb.isSubClassOf(_reasoner.term(axiom.getSubClass()), _reasoner.term(axiom.getSuperClass())); }
@Override public void visit(final OWLSubClassOfAxiom axiom) { _isEntailed = _kb.isSubClassOf(_reasoner.term(axiom.getSubClass()), _reasoner.term(axiom.getSuperClass())); }
@Override public void visit(final OWLSubClassOfAxiom axiom) { _isEntailed = _kb.isSubClassOf(_reasoner.term(axiom.getSubClass()), _reasoner.term(axiom.getSuperClass())); }
@Test public void cdClassificationWithInverses() { classes(_C, _D, _E); objectProperties(_p); _kb.addSubClass(_C, some(_p, _D)); _kb.addSubClass(_D, all(inv(_p), _E)); assertTrue(_kb.isConsistent()); assertTrue(_kb.isSubClassOf(_C, _E)); _kb.classify(); assertTrue(_kb.isSubClassOf(_C, _E)); }
@Test public void testBottomSub() { // See also: http://cvsdude.com/trac/clark-parsia/pellet-devel/ticket/7 final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl c = term("c"); kb.addClass(c); kb.addSubClass(ATermUtils.BOTTOM, c); kb.classify(); assertTrue(kb.isSubClassOf(ATermUtils.BOTTOM, c)); }
@Test public void testRoleAbsorptionWithPropertyChain() { classes(_A, _B, _C, _D); objectProperties(_p, _q, _r); _kb.addSubProperty(list(_p, _q), _r); _kb.addSubClass(_C, _B); _kb.addEquivalentClass(_C, some(_r, _D)); _kb.addSubClass(_A, some(_p, some(_q, _D))); assertTrue(_kb.isSubClassOf(_A, _C)); _kb.classify(); assertTrue(_kb.isSubClassOf(_A, _C)); }
@Test public void cdClassificationWithCyclicInverses() { classes(_C, _D, _E); objectProperties(_p, _q); _kb.addSubClass(_E, some(_p, _C)); _kb.addSubClass(_C, all(inv(_p), _D)); _kb.addSubClass(_D, some(_q, _E)); assertTrue(_kb.isConsistent()); assertTrue(_kb.isSubClassOf(_E, _D)); _kb.classify(); assertTrue(_kb.isSubClassOf(_E, _D)); }
public static void assertSubClass(final KnowledgeBase kb, final ATermAppl c1, final ATermAppl c2, final boolean expectedSubClass) { boolean computedSubClass = kb.isSubClassOf(c1, c2); assertEquals("Subclass check failed for (" + ATermUtils.toString(c1) + " [= " + ATermUtils.toString(c2) + ")", expectedSubClass, computedSubClass); kb.isSatisfiable(c1); kb.isSatisfiable(not(c1)); kb.isSatisfiable(c2); kb.isSatisfiable(not(c2)); final long satCount = kb.getABox().getStats()._satisfiabilityCount; computedSubClass = kb.isSubClassOf(c1, c2); final boolean cached = satCount == kb.getABox().getStats()._satisfiabilityCount; assertEquals("Subclass check (Cached: " + cached + ") failed for (" + ATermUtils.toString(c1) + " [= " + ATermUtils.toString(c2) + ")", expectedSubClass, computedSubClass); } }
public static void assertSubClass(final KnowledgeBase kb, final ATermAppl c1, final ATermAppl c2, final boolean expectedSubClass) { boolean computedSubClass = kb.isSubClassOf(c1, c2); assertEquals("Subclass check failed for (" + ATermUtils.toString(c1) + " [= " + ATermUtils.toString(c2) + ")", expectedSubClass, computedSubClass); kb.isSatisfiable(c1); kb.isSatisfiable(not(c1)); kb.isSatisfiable(c2); kb.isSatisfiable(not(c2)); final long satCount = kb.getABox().getStats()._satisfiabilityCount; computedSubClass = kb.isSubClassOf(c1, c2); final boolean cached = satCount == kb.getABox().getStats()._satisfiabilityCount; assertEquals("Subclass check (Cached: " + cached + ") failed for (" + ATermUtils.toString(c1) + " [= " + ATermUtils.toString(c2) + ")", expectedSubClass, computedSubClass); } }
@Test public void cdClassificationWithPropChain() { classes(_C, _D, _E); objectProperties(_p, _q, _r); _kb.addSubProperty(list(_p, _q), _r); _kb.addSubClass(_C, some(_p, some(_q, _D))); _kb.addSubClass(_D, all(inv(_r), _E)); assertTrue(_kb.isConsistent()); assertTrue(_kb.isSubClassOf(_C, _E)); _kb.classify(); _kb.printClassTree(); assertTrue(_kb.isSubClassOf(_C, _E)); } }
@Test public void propertyChainClasses() { // Tests #367 classes(_A, _B, _C); objectProperties(_p, _q, _r); _kb.addSubProperty(list(_p, _q), _r); _kb.addSubClass(_A, some(_p, some(_q, _B))); _kb.addSubClass(some(_r, _B), _C); explainEntailment(_kb.isSubClassOf(_A, _C), ATermUtils.makeSub(_A, some(_p, some(_q, _B))), ATermUtils.makeSub(some(_r, _B), _C), ATermUtils.makeSubProp(list(_p, _q), _r)); }
@Test public void testSelfRestrictions() { final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl c = term("c"); final ATermAppl d = term("d"); final ATermAppl p = term("p"); kb.addClass(c); kb.addClass(d); kb.addObjectProperty(p); kb.addRange(p, d); kb.addSubClass(c, and(self(p), some(p, TOP))); assertTrue(kb.isConsistent()); assertTrue(kb.isSatisfiable(c)); assertTrue(kb.isSubClassOf(c, d)); }
@Ignore("Fails due to #294") @Test public void propertyChainNested() { // Tests #367, #294 classes(_A, _B, _C); objectProperties(_p, _q, _r, _f); _kb.addSubProperty(list(_p, _q), _p); _kb.addSubProperty(list(_p, _r), _f); _kb.addSubProperty(_r, _q); _kb.addSubClass(_A, some(_p, some(_r, some(_r, _B)))); _kb.addSubClass(some(_f, _B), _C); explainEntailment(_kb.isSubClassOf(_A, _C), ATermUtils.makeSub(_A, some(_p, some(_q, _B))), ATermUtils.makeSub(some(_r, _B), _C), ATermUtils.makeSubProp(list(_p, _q), _r), ATermUtils.makeSubProp(list(_r, _p), _f)); }