if (prop.isTop()) return Bool.TRUE; else
if (prop.isTop()) return Bool.TRUE; else
@Override public boolean isBuiltin() { return isTop() || isBottom() || _inverse != null && (_inverse.isTop() || _inverse.isBottom()); } }
@Override public boolean isBuiltin() { return isTop() || isBottom() || _inverse != null && (_inverse.isTop() || _inverse.isBottom()); } }
final Set<ATermAppl> unknowns = new HashSet<>(); if (role.isTop())
if (role.isTop())
if (role.isTop())
final Set<ATermAppl> unknowns = new HashSet<>(); if (role.isTop())
continue; // FIXME : this should not occur but it does in ME.owl ME2.owl if (s.isTop() && s.isObjectRole())
continue; // FIXME : this should not occur but it does in ME.owl ME2.owl if (s.isTop() && s.isObjectRole())
@Override public Bool hasObviousDataPropertyValue(final ATermAppl s, final ATermAppl p, final Object value) { assert isComplete() : "Initial consistency check has not been performed!"; Individual subj = getIndividual(s); final Role prop = getRole(p); if (prop.isTop()) return Bool.TRUE; else if (prop.isBottom()) return Bool.FALSE; // if onlyPositive is set then the answer returned is sound but not // complete so we cannot return negative answers boolean onlyPositive = false; if (!subj.getMergeDependency(true).isIndependent()) { onlyPositive = true; subj = getIndividual(s); } else subj = subj.getSame(); final Bool hasValue = subj.hasDataPropertyValue(prop, value); if (onlyPositive && hasValue.isFalse()) return Bool.UNKNOWN; return hasValue; }
@Override public Bool hasObviousDataPropertyValue(final ATermAppl s, final ATermAppl p, final Object value) { assert isComplete() : "Initial consistency check has not been performed!"; Individual subj = getIndividual(s); final Role prop = getRole(p); if (prop.isTop()) return Bool.TRUE; else if (prop.isBottom()) return Bool.FALSE; // if onlyPositive is set then the answer returned is sound but not // complete so we cannot return negative answers boolean onlyPositive = false; if (!subj.getMergeDependency(true).isIndependent()) { onlyPositive = true; subj = getIndividual(s); } else subj = subj.getSame(); final Bool hasValue = subj.hasDataPropertyValue(prop, value); if (onlyPositive && hasValue.isFalse()) return Bool.UNKNOWN; return hasValue; }
if (hasRSuccessor(r, x) || r.isTop())
if (hasRSuccessor(r, x) || r.isTop())
if (s.isTop() && s.isObjectRole())
if (s.isTop() && s.isObjectRole())
return; if (s.isTop() && s.isObjectRole())
return; if (s.isTop() && s.isObjectRole())