@Override public void visitSelf(final ATermAppl term) { _kb.addObjectProperty(term.getArgument(0)); }
@Override public void visitSelf(final ATermAppl term) { _kb.addObjectProperty(term.getArgument(0)); }
protected void objectProperties(final ATermAppl... props) { for (final ATermAppl p : props) _kb.addObjectProperty(p); }
protected boolean defineObjectProperty(final ATermAppl c) { if (!ATermUtils.isPrimitive(c) && !ATermUtils.isInv(c)) return false; return _kb.addObjectProperty(c); }
protected boolean defineObjectProperty(final ATermAppl c) { if (!ATermUtils.isPrimitive(c) && !ATermUtils.isInv(c)) return false; return _kb.addObjectProperty(c); }
protected boolean defineObjectProperty(final ATermAppl c) { if (!ATermUtils.isPrimitive(c) && !ATermUtils.isInv(c)) return false; return _kb.addObjectProperty(c); }
@Override public void visitInverse(final ATermAppl term) { final ATermAppl p = (ATermAppl) term.getArgument(0); if (ATermUtils.isPrimitive(p)) _kb.addObjectProperty(p); else visitInverse(p); }
@Override public void visitInverse(final ATermAppl term) { final ATermAppl p = (ATermAppl) term.getArgument(0); if (ATermUtils.isPrimitive(p)) _kb.addObjectProperty(p); else visitInverse(p); }
private void visitRestr(final ATermAppl p, final ATermAppl q) { if (_originalKB.isObjectProperty(p)) { _kb.addObjectProperty(p); visit(q); } else _kb.addDatatypeProperty(p); }
private void visitRestr(final ATermAppl p, final ATermAppl q) { if (_originalKB.isObjectProperty(p)) { _kb.addObjectProperty(p); visit(q); } else _kb.addDatatypeProperty(p); }
protected boolean defineProperty(final ATermAppl c) { if (ATermUtils.isInv(c)) { _kb.addObjectProperty(c.getArgument(0)); return true; } else if (!ATermUtils.isPrimitive(c)) return false; _kb.addProperty(c); return true; }
protected boolean defineProperty(final ATermAppl c) { if (ATermUtils.isInv(c)) { _kb.addObjectProperty(c.getArgument(0)); return true; } else if (!ATermUtils.isPrimitive(c)) return false; _kb.addProperty(c); return true; }
protected boolean defineProperty(final ATermAppl c) { if (ATermUtils.isInv(c)) { _kb.addObjectProperty(c.getArgument(0)); return true; } else if (!ATermUtils.isPrimitive(c)) return false; _kb.addProperty(c); return true; }
@Override public void visit(final OWLObjectProperty prop) { if (prop.isOWLTopObjectProperty()) _term = ATermUtils.TOP_OBJECT_PROPERTY; else if (prop.isOWLBottomObjectProperty()) _term = ATermUtils.BOTTOM_OBJECT_PROPERTY; else { _term = ATermUtils.makeTermAppl(prop.getIRI().toString()); if (_addAxioms) _kb.addObjectProperty(_term); } }
@Test public void testAsymmetry() { final ATermAppl p = term("p"); final KnowledgeBase kb = new KnowledgeBaseImpl(); kb.addObjectProperty(p); kb.addAsymmetricProperty(p); assertTrue(kb.isIrreflexiveProperty(p)); }
@Test public void testIrreflexive() { _kb.addObjectProperty(mbox); _kb.addIrreflexiveProperty(mbox); _kb.addIndividual(robert); _kb.addPropertyValue(mbox, robert, robert); assertFalse(_kb.isConsistent()); final Set<ATermAppl> explanation = _kb.getExplanationSet(); assertIteratorValues(explanation.iterator(), new Object[] { ATermUtils.makeIrreflexive(mbox), ATermUtils.makePropAtom(mbox, robert, robert), }); }
@Test public void testDisjointSelf() { final KnowledgeBase kb = new KnowledgeBaseImpl(); final ATermAppl A = term("A"); final ATermAppl p = term("p"); kb.addClass(A); kb.addObjectProperty(p); kb.addDisjointClasses(Arrays.asList(A, self(p))); kb.classify(); assertTrue(kb.isSatisfiable(A)); }
@Test public void superPropertyConcistency() { individuals(_a, _b, _c); objectProperties(_p, _q); _kb.addDisjointProperty(_p, _q); final ATermAppl supP = term("supP"); _kb.addObjectProperty(supP); _kb.addSubProperty(_p, supP); _kb.addPropertyValue(supP, _a, _b); _kb.addPropertyValue(_q, _b, _b); assertTrue(_kb.isConsistent()); }
@Test public void subPropertyInconcistency() { individuals(_a, _b, _c); objectProperties(_p, _q); _kb.addDisjointProperty(_p, _q); final ATermAppl subP = term("subP"); _kb.addObjectProperty(subP); _kb.addSubProperty(subP, _p); _kb.addPropertyValue(subP, _a, _b); _kb.addPropertyValue(_q, _a, _b); assertFalse(_kb.isConsistent()); }
@Test public void invPropertyInconcistency() { individuals(_a, _b, _c); objectProperties(_p, _q); _kb.addDisjointProperty(_p, _q); final ATermAppl invP = term("invP"); _kb.addObjectProperty(invP); _kb.addInverseProperty(invP, _p); _kb.addPropertyValue(invP, _b, _a); _kb.addPropertyValue(_q, _a, _b); assertFalse(_kb.isConsistent()); }