@Override public void getSubjects(final ATermAppl p, final ATermAppl o, final CandidateSet<ATermAppl> candidates) { final Iterator<ATermAppl> i = candidates.iterator(); while (i.hasNext()) { final ATermAppl s = i.next(); final Bool hasObviousValue = hasObviousPropertyValue(s, p, o); candidates.update(s, hasObviousValue); } }
@Override public void getSubjects(final ATermAppl p, final ATermAppl o, final CandidateSet<ATermAppl> candidates) { final Iterator<ATermAppl> i = candidates.iterator(); while (i.hasNext()) { final ATermAppl s = i.next(); final Bool hasObviousValue = hasObviousPropertyValue(s, p, o); candidates.update(s, hasObviousValue); } }
@Override public void getObviousSubjects(final ATermAppl p, final ATermAppl o, final CandidateSet<ATermAppl> candidates) { final Iterator<ATermAppl> i = candidates.iterator(); while (i.hasNext()) { final ATermAppl s = i.next(); final Bool hasObviousValue = hasObviousPropertyValue(s, p, o); if (hasObviousValue.isFalse()) i.remove(); else candidates.update(s, hasObviousValue); } }
@Override public void getObviousSubjects(final ATermAppl p, final ATermAppl o, final CandidateSet<ATermAppl> candidates) { final Iterator<ATermAppl> i = candidates.iterator(); while (i.hasNext()) { final ATermAppl s = i.next(); final Bool hasObviousValue = hasObviousPropertyValue(s, p, o); if (hasObviousValue.isFalse()) i.remove(); else candidates.update(s, hasObviousValue); } }
@Override public boolean hasPropertyValue(final ATermAppl s, final ATermAppl p, final ATermAppl o) { final Bool hasObviousValue = hasObviousPropertyValue(s, p, o); if (hasObviousValue.isKnown()) if (hasObviousValue.isFalse() || !doExplanation()) return hasObviousValue.isTrue(); ATermAppl c = null; if (o == null) { if (_kb.isDatatypeProperty(p)) c = ATermUtils.makeMin(p, 1, ATermUtils.TOP_LIT); else c = ATermUtils.makeMin(p, 1, ATermUtils.TOP); } else c = ATermUtils.makeHasValue(p, o); final boolean isType = isType(s, c); return isType; }
@Override public boolean hasPropertyValue(final ATermAppl s, final ATermAppl p, final ATermAppl o) { final Bool hasObviousValue = hasObviousPropertyValue(s, p, o); if (hasObviousValue.isKnown()) if (hasObviousValue.isFalse() || !doExplanation()) return hasObviousValue.isTrue(); ATermAppl c = null; if (o == null) { if (_kb.isDatatypeProperty(p)) c = ATermUtils.makeMin(p, 1, ATermUtils.TOP_LIT); else c = ATermUtils.makeMin(p, 1, ATermUtils.TOP); } else c = ATermUtils.makeHasValue(p, o); final boolean isType = isType(s, c); return isType; }