private Map<ATermAppl, Boolean> fastPrune(final Query q, final ATermAppl var) { final ATermAppl c = q.rollUpTo(var, Collections.<ATermAppl> emptySet(), STOP_ROLLING_ON_CONSTANTS); if (_logger.isLoggable(Level.FINER)) _logger.finer(var + " rolled to " + c); final CandidateSet<ATermAppl> set = _kb.getABox().getObviousInstances(c); final Map<ATermAppl, Boolean> map = new HashMap<>(); for (final Object o : set.getKnowns()) map.put((ATermAppl) o, true); for (final Object o : set.getUnknowns()) map.put((ATermAppl) o, false); return map; }
@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 CandidateSet<ATermAppl> getObviousInstances(final ATermAppl cParam, final Collection<ATermAppl> individuals) { ATermAppl c = cParam; c = ATermUtils.normalize(c); final Set<ATermAppl> subs = _kb.isClassified() && _kb.getTaxonomy().contains(c) ? _kb.getTaxonomy().getFlattenedSubs(c, false) : Collections.<ATermAppl> emptySet(); subs.remove(ATermUtils.BOTTOM); final CandidateSet<ATermAppl> cs = new CandidateSet<>(); for (final ATermAppl x : individuals) { final Bool isType = isKnownType(x, c, subs); cs.add(x, isType); } return cs; }
@Override public CandidateSet<ATermAppl> getObviousSubjects(final ATermAppl p, final ATermAppl o) { final CandidateSet<ATermAppl> candidates = new CandidateSet<>(_kb.getIndividuals()); getObviousSubjects(p, o, candidates); return candidates; }
public void update(final T obj, final Bool isCandidate) { if (isCandidate.isTrue()) { // do nothing } else if (isCandidate.isFalse()) remove(obj); else if (_knowns.contains(obj)) { _knowns.remove(obj); _unknowns.add(obj); } }
@Override public CandidateSet<ATermAppl> getObviousInstances(final ATermAppl cParam, final Collection<ATermAppl> individuals) { ATermAppl c = cParam; c = ATermUtils.normalize(c); final Set<ATermAppl> subs = _kb.isClassified() && _kb.getTaxonomy().contains(c) ? _kb.getTaxonomy().getFlattenedSubs(c, false) : Collections.<ATermAppl> emptySet(); subs.remove(ATermUtils.BOTTOM); final CandidateSet<ATermAppl> cs = new CandidateSet<>(); for (final ATermAppl x : individuals) { final Bool isType = isKnownType(x, c, subs); cs.add(x, isType); } return cs; }
@Override public CandidateSet<ATermAppl> getObviousSubjects(final ATermAppl p, final ATermAppl o) { final CandidateSet<ATermAppl> candidates = new CandidateSet<>(_kb.getIndividuals()); getObviousSubjects(p, o, candidates); return candidates; }
public void update(final T obj, final Bool isCandidate) { if (isCandidate.isTrue()) { // do nothing } else if (isCandidate.isFalse()) remove(obj); else if (_knowns.contains(obj)) { _knowns.remove(obj); _unknowns.add(obj); } }
@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); } }
private Map<ATermAppl, Boolean> fastPrune(final Query q, final ATermAppl var) { final ATermAppl c = q.rollUpTo(var, Collections.<ATermAppl> emptySet(), STOP_ROLLING_ON_CONSTANTS); if (_logger.isLoggable(Level.FINER)) _logger.finer(var + " rolled to " + c); final CandidateSet<ATermAppl> set = _kb.getABox().getObviousInstances(c); final Map<ATermAppl, Boolean> map = new HashMap<>(); for (final Object o : set.getKnowns()) map.put((ATermAppl) o, true); for (final Object o : set.getUnknowns()) map.put((ATermAppl) o, false); return map; }
@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); } }
private Map<ATermAppl, Boolean> fastPrune(final Query q, final ATermAppl var) { final ATermAppl c = q.rollUpTo(var, Collections.<ATermAppl> emptySet(), STOP_ROLLING_ON_CONSTANTS); if (_logger.isLoggable(Level.FINER)) _logger.finer(var + " rolled to " + c); final CandidateSet<ATermAppl> set = _kb.getABox().getObviousInstances(c); final Map<ATermAppl, Boolean> map = new HashMap<>(); for (final Object o : set.getKnowns()) map.put((ATermAppl) o, true); for (final Object o : set.getUnknowns()) map.put((ATermAppl) o, false); return map; }
@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 getObviousObjects(final ATermAppl pParam, final CandidateSet<ATermAppl> candidates) { ATermAppl p = pParam; p = getRole(p).getInverse().getName(); final Iterator<ATermAppl> i = candidates.iterator(); while (i.hasNext()) { final ATermAppl s = i.next(); final Bool hasObviousValue = hasObviousObjectPropertyValue(s, p, null); candidates.update(s, hasObviousValue); } }
@Override public void getObviousObjects(final ATermAppl pParam, final CandidateSet<ATermAppl> candidates) { ATermAppl p = pParam; p = getRole(p).getInverse().getName(); final Iterator<ATermAppl> i = candidates.iterator(); while (i.hasNext()) { final ATermAppl s = i.next(); final Bool hasObviousValue = hasObviousObjectPropertyValue(s, p, null); candidates.update(s, hasObviousValue); } }