private void addUnfolding(final ATermAppl c, final ATermAppl condition, final ATermAppl result, final Set<ATermAppl> explanation) { List<Unfolding> list = _conditionalUnfoldings.get(c); if (list == null) { list = CollectionUtils.makeList(); _conditionalUnfoldings.put(c, list); } list.add(Unfolding.create(result, condition, explanation)); }
private static Bool checkBinaryClash(final KnowledgeBase kb, final ATermAppl c, @SuppressWarnings("unused") final CachedNode root, final CachedNode otherRoot) { final Iterator<Unfolding> unfoldingList = kb.getTBox().unfold(c); while (unfoldingList.hasNext()) { final Unfolding unfolding = unfoldingList.next(); final ATermAppl unfoldingCondition = unfolding.getCondition(); if (!unfoldingCondition.equals(TOP) && otherRoot.getDepends().containsKey(unfoldingCondition)) return Bool.UNKNOWN; } return null; }
private boolean isCDDesc(final Iterator<Unfolding> unfoldingList) { while (unfoldingList.hasNext()) { final Unfolding unf = unfoldingList.next(); if (!isCDDesc(unf.getResult())) return false; } return true; }
for (final Unfolding unfolding : unfoldTop) final ATermAppl unfolded = unfolding.getResult(); final Set<ATermAppl> explain = unfolding.getExplanation(); newUnfoldTop.add(Unfolding.create(ATermUtils.makeAnd(newList), explain));
final ATermAppl unfoldingCondition = unfolding.getCondition(); DependencySet finalDS = node.getDepends(unfoldingCondition); continue; final Set<ATermAppl> unfoldingDS = unfolding.getExplanation(); finalDS = finalDS.union(ds, _strategy.getABox().doExplanation()); finalDS = finalDS.union(unfoldingDS, _strategy.getABox().doExplanation()); final ATermAppl unfoldedConcept = unfolding.getResult();
for (final Unfolding unfolding : unfoldTop) final ATermAppl unfolded = unfolding.getResult(); final Set<ATermAppl> explain = unfolding.getExplanation(); newUnfoldTop.add(Unfolding.create(ATermUtils.makeAnd(newList), explain));
final ATermAppl unfoldingCondition = unfolding.getCondition(); DependencySet finalDS = node.getDepends(unfoldingCondition); continue; final Set<ATermAppl> unfoldingDS = unfolding.getExplanation(); finalDS = finalDS.union(ds, _strategy.getABox().doExplanation()); finalDS = finalDS.union(unfoldingDS, _strategy.getABox().doExplanation()); final ATermAppl unfoldedConcept = unfolding.getResult();
private void addUnfolding(final ATermAppl c, final ATermAppl condition, final ATermAppl result, final Set<ATermAppl> explanation) { List<Unfolding> list = _conditionalUnfoldings.get(c); if (list == null) { list = CollectionUtils.makeList(); _conditionalUnfoldings.put(c, list); } list.add(Unfolding.create(result, condition, explanation)); }
private boolean isCDDesc(final Iterator<Unfolding> unfoldingList) { while (unfoldingList.hasNext()) { final Unfolding unf = unfoldingList.next(); if (!isCDDesc(unf.getResult())) return false; } return true; }
private static Bool checkBinaryClash(final KnowledgeBase kb, final ATermAppl c, @SuppressWarnings("unused") final CachedNode root, final CachedNode otherRoot) { final Iterator<Unfolding> unfoldingList = kb.getTBox().unfold(c); while (unfoldingList.hasNext()) { final Unfolding unfolding = unfoldingList.next(); final ATermAppl unfoldingCondition = unfolding.getCondition(); if (!unfoldingCondition.equals(TOP) && otherRoot.getDepends().containsKey(unfoldingCondition)) return Bool.UNKNOWN; } return null; }
public void add(final ATermAppl sub, final ATermAppl sup, final Set<ATermAppl> explanation) { List<Unfolding> list = _unfoldings.get(sub); if (list == null) { list = new ArrayList<>(); _unfoldings.put(sub, list); } _logger.fine(() -> "Add sub: " + ATermUtils.toString(sub) + " < " + ATermUtils.toString(sup)); list.add(Unfolding.create(ATermUtils.normalize(sup), explanation)); }
public void print(final Appendable out) { try { out.append("Tg: [\n"); if (UC != null) { for (final Unfolding unf : UC) { out.append(ATermUtils.toString(unf.getResult())); out.append(", "); } out.append("\n"); } out.append("]"); } catch (final IOException e) { e.printStackTrace(); } }
public void add(final ATermAppl sub, final ATermAppl sup, final Set<ATermAppl> explanation) { List<Unfolding> list = _unfoldings.get(sub); if (list == null) { list = new ArrayList<>(); _unfoldings.put(sub, list); } _logger.fine(() -> "Add sub: " + ATermUtils.toString(sub) + " < " + ATermUtils.toString(sup)); list.add(Unfolding.create(ATermUtils.normalize(sup), explanation)); }
public void print(final Appendable out) { try { out.append("Tg: [\n"); if (UC != null) { for (final Unfolding unf : UC) { out.append(ATermUtils.toString(unf.getResult())); out.append(", "); } out.append("\n"); } out.append("]"); } catch (final IOException e) { e.printStackTrace(); } }
protected void addDefinition(final ATermAppl concept, final ATermAppl definition, final Set<ATermAppl> explanation) { _logger.fine(() -> "Def: " + ATermUtils.toString(concept) + " = " + ATermUtils.toString(definition)); _definitions.put(concept, Unfolding.create(ATermUtils.normalize(definition), explanation)); }
@Override public boolean absorb(final Set<ATermAppl> terms, final Set<ATermAppl> explanation) { for (final ATermAppl c : terms) { final Unfolding unf = _primitiveTbox.getDefinition(c); if (unf != null) { final ATermAppl def = unf.getResult(); terms.remove(c); terms.add(nnf(def)); absorbAxiom(terms, explanation); return true; } } return false; } }
protected void addDefinition(final ATermAppl concept, final ATermAppl definition, final Set<ATermAppl> explanation) { _logger.fine(() -> "Def: " + ATermUtils.toString(concept) + " = " + ATermUtils.toString(definition)); _definitions.put(concept, Unfolding.create(ATermUtils.normalize(definition), explanation)); }
@Override public boolean absorb(final Set<ATermAppl> terms, final Set<ATermAppl> explanation) { for (final ATermAppl c : terms) { final Unfolding unf = _primitiveTbox.getDefinition(c); if (unf != null) { final ATermAppl def = unf.getResult(); terms.remove(c); terms.add(nnf(def)); absorbAxiom(terms, explanation); return true; } } return false; } }
public void print(final Appendable out) { try { out.append("Tu: [\n"); for (final ATermAppl c : _unfoldingMap.keySet()) { final List<Unfolding> unfoldedList = unfold(c); if (!unfoldedList.isEmpty()) { out.append(ATermUtils.toString(c)).append(" -> "); for (final Unfolding unf : unfoldedList) out.append(ATermUtils.toString(unf.getResult())).append(", "); out.append("\n"); } } out.append("]\n"); } catch (final IOException e) { e.printStackTrace(); } }