public static ATermAppl max(final ATermAppl r, final int n, final ATermAppl c) { return ATermUtils.makeMax(r, n, c); }
public static ATermAppl max(final ATermAppl r, final int n, final ATermAppl c) { return ATermUtils.makeMax(r, n, c); }
final static public ATermAppl makeMax(final ATerm r, final int n, final ATerm c) { // assertTrue( n >= 0 ); // This was causing nnf to come out wrong // return makeNot(makeMin(r, n + 1)); return makeMax(r, factory.makeInt(n), c); }
final static public ATermAppl makeMax(final ATerm r, final int n, final ATerm c) { // assertTrue( n >= 0 ); // This was causing nnf to come out wrong // return makeNot(makeMin(r, n + 1)); return makeMax(r, factory.makeInt(n), c); }
final static public ATermAppl makeExactCard(final ATerm r, final ATermInt n, final ATerm c) { final ATermAppl max = makeMax(r, n, c); if (n.getInt() == 0) return max; final ATermAppl min = makeMin(r, n, c); return makeAnd(min, max); }
final static public ATermAppl makeExactCard(final ATerm r, final ATermInt n, final ATerm c) { final ATermAppl max = makeMax(r, n, c); if (n.getInt() == 0) return max; final ATermAppl min = makeMin(r, n, c); return makeAnd(min, max); }
@Override public void visit(final OWLDataMaxCardinality restriction) { restriction.getProperty().accept(this); final ATerm p = _term; final int n = restriction.getCardinality(); restriction.getFiller().accept(this); final ATermAppl desc = _term; _term = ATermUtils.makeMax(p, n, desc); }
@Override public void visit(final OWLDataMaxCardinality restriction) { restriction.getProperty().accept(this); final ATerm p = _term; final int n = restriction.getCardinality(); restriction.getFiller().accept(this); final ATermAppl desc = _term; _term = ATermUtils.makeMax(p, n, desc); }
@Override public void visit(final OWLDataMaxCardinality restriction) { restriction.getProperty().accept(this); final ATerm p = _term; final int n = restriction.getCardinality(); restriction.getFiller().accept(this); final ATermAppl desc = _term; _term = ATermUtils.makeMax(p, n, desc); }
@Override public void visit(final OWLObjectMaxCardinality restriction) { addSimpleProperty(restriction.getProperty()); restriction.getProperty().accept(this); final ATerm p = _term; final int n = restriction.getCardinality(); restriction.getFiller().accept(this); final ATermAppl desc = _term; _term = ATermUtils.makeMax(p, n, desc); }
@Override public void visit(final OWLObjectMaxCardinality restriction) { addSimpleProperty(restriction.getProperty()); restriction.getProperty().accept(this); final ATerm p = _term; final int n = restriction.getCardinality(); restriction.getFiller().accept(this); final ATermAppl desc = _term; _term = ATermUtils.makeMax(p, n, desc); }
@Override public void visit(final OWLObjectMaxCardinality restriction) { addSimpleProperty(restriction.getProperty()); restriction.getProperty().accept(this); final ATerm p = _term; final int n = restriction.getCardinality(); restriction.getFiller().accept(this); final ATermAppl desc = _term; _term = ATermUtils.makeMax(p, n, desc); }
default boolean isInverseFunctionalProperty(final ATermAppl p) { if (null == p) return false; final Role role = getRole(p); if (role == null) { Base.handleUndefinedEntity(p + _isNotAnKnowProperty); return false; } if (!role.isObjectRole()) return false; else if (role.isInverseFunctional() || role.isBottom()) { if (doExplanation()) getABox().setExplanation(role.getExplainInverseFunctional()); return true; } final ATermAppl invP = role.getInverse().getName(); final ATermAppl max1invP = ATermUtils.makeMax(invP, 1, ATermUtils.TOP); return isSubClassOf(ATermUtils.TOP, max1invP); }
default boolean isInverseFunctionalProperty(final ATermAppl p) { if (null == p) return false; final Role role = getRole(p); if (role == null) { Base.handleUndefinedEntity(p + _isNotAnKnowProperty); return false; } if (!role.isObjectRole()) return false; else if (role.isInverseFunctional() || role.isBottom()) { if (doExplanation()) getABox().setExplanation(role.getExplainInverseFunctional()); return true; } final ATermAppl invP = role.getInverse().getName(); final ATermAppl max1invP = ATermUtils.makeMax(invP, 1, ATermUtils.TOP); return isSubClassOf(ATermUtils.TOP, max1invP); }
else if (restrictionType.equals(OWL.maxCardinality.asNode()) || restrictionType.equals(OWL2.maxQualifiedCardinality.asNode())) return ATermUtils.makeMax(pt, cardinality, c); else return ATermUtils.makeCard(pt, cardinality, c);
else if (restrictionType.equals(OWL.maxCardinality.asNode()) || restrictionType.equals(OWL2.maxQualifiedCardinality.asNode())) return ATermUtils.makeMax(pt, cardinality, c); else return ATermUtils.makeCard(pt, cardinality, c);
else if (restrictionType.equals(OWL.maxCardinality.asNode()) || restrictionType.equals(OWL2.maxQualifiedCardinality.asNode())) return ATermUtils.makeMax(pt, cardinality, c); else return ATermUtils.makeCard(pt, cardinality, c);
@Test public void testSubProp1() { final ATermAppl noRelatives = ATermUtils.makeMax(relative, 0, ATermUtils.TOP); _kb.addIndividual(mary); _kb.addIndividual(bob); _kb.addObjectProperty(relative); _kb.addObjectProperty(sibling); _kb.addSubProperty(sibling, relative); _kb.addType(bob, noRelatives); _kb.addPropertyValue(sibling, bob, mary); assertFalse(_kb.isConsistent()); final Set<ATermAppl> explanation = _kb.getExplanationSet(); assertIteratorValues(explanation.iterator(), new Object[] { ATermUtils.makeSubProp(sibling, relative), ATermUtils.makePropAtom(sibling, bob, mary), ATermUtils.makeTypeAtom(bob, noRelatives), }); }
@Test public void testMaxOneDataProp() { _kb.addClass(person); _kb.addDatatypeProperty(ssn); final ATermAppl max1ssn = ATermUtils.makeMax(ssn, 1, ATermUtils.TOP_LIT); _kb.addSubClass(person, max1ssn); _kb.addSubClass(person, ATermUtils.makeMin(ssn, 1, ATermUtils.TOP_LIT)); _kb.addIndividual(robert); _kb.addType(robert, person); final ATermAppl ssn1 = ATermUtils.makePlainLiteral("012345678"); final ATermAppl ssn2 = ATermUtils.makePlainLiteral("123456789"); _kb.addPropertyValue(ssn, robert, ssn1); _kb.addPropertyValue(ssn, robert, ssn2); assertFalse(_kb.isConsistent()); final Set<ATermAppl> explanation = _kb.getExplanationSet(); assertIteratorValues(explanation.iterator(), new Object[] { ATermUtils.makePropAtom(ssn, robert, ssn1), ATermUtils.makePropAtom(ssn, robert, ssn2), ATermUtils.makeSub(person, max1ssn), ATermUtils.makeTypeAtom(robert, person), }); }
kb.addSubClass(term("C"), ATermUtils.makeMax(term("p"), 2, ATermUtils.TOP));