@Override public boolean isBlocked(final BlockingContext cxt) { for (final ATermAppl normMax : cxt._blocker.getTypes(Node.MAX)) if (!_maxBlock.test(cxt, normMax)) return false; return true; } }
@Override public boolean isBlocked(final BlockingContext cxt) { for (final ATermAppl normMax : cxt._blocker.getTypes(Node.MAX)) if (!_maxBlock.test(cxt, normMax)) return false; return true; } }
@Override public boolean isBlocked(final BlockingContext cxt) { for (final ATermAppl normMax : cxt._blocker.getTypes(Node.MAX)) if (!(Block5Max._maxBlock.test(cxt, normMax)// || _typeAndRSuccessorN.test(cxt, normMax))) return false; return true; } }
@Override public boolean isBlocked(final BlockingContext cxt) { for (final ATermAppl normMax : cxt._blocker.getTypes(Node.MAX)) if (!(Block5Max._maxBlock.test(cxt, normMax)// || _typeAndRSuccessorN.test(cxt, normMax))) return false; return true; } }
@Override public void apply(final Individual x) { if (!x.canApply(Node.MAX)) return; final List<ATermAppl> maxCardinality = x.getTypes(Node.MAX); final Iterator<ATermAppl> j = maxCardinality.iterator(); while (j.hasNext()) { final ATermAppl maxCard = j.next(); apply(x, maxCard); } }
@Override public void apply(final Individual x) { if (!x.canApply(Node.MAX)) return; final List<ATermAppl> maxCardinality = x.getTypes(Node.MAX); final Iterator<ATermAppl> j = maxCardinality.iterator(); while (j.hasNext()) { final ATermAppl maxCard = j.next(); apply(x, maxCard); } }
@Override public boolean isBlocked(final BlockingContext cxt) { for (final ATermAppl min : cxt._blocker.getTypes(Node.MIN)) if (!block4(cxt, min)) return false; for (final ATermAppl normSome : cxt._blocker.getTypes(Node.SOME)) { final ATermAppl some = (ATermAppl) normSome.getArgument(0); if (!block4(cxt, some)) return false; } return true; }
@Override public boolean isBlocked(final BlockingContext cxt) { for (final ATermAppl min : cxt._blocker.getTypes(Node.MIN)) if (!block4(cxt, min)) return false; for (final ATermAppl normSome : cxt._blocker.getTypes(Node.SOME)) { final ATermAppl some = (ATermAppl) normSome.getArgument(0); if (!block4(cxt, some)) return false; } return true; }
private static boolean isParentMaxSafe(final KnowledgeBase kb, final Role role, final Individual parent) { for (final ATermAppl negatedMax : parent.getTypes(Node.MAX)) { final ATermAppl max = (ATermAppl) negatedMax.getArgument(0); if (!isParentMaxSafe(kb, role, max)) return false; } return true; }
private static boolean isParentMaxSafe(final KnowledgeBase kb, final Role role, final Individual parent) { for (final ATermAppl negatedMax : parent.getTypes(Node.MAX)) { final ATermAppl max = (ATermAppl) negatedMax.getArgument(0); if (!isParentMaxSafe(kb, role, max)) return false; } return true; }
@Override public void apply(final Individual x) { if (x.isBlockable()) return; final List<ATermAppl> types = x.getTypes(Node.MAX); final int size = types.size(); for (int j = 0; j < size; j++) { final ATermAppl mc = types.get(j); applyGuessingRule(x, mc); if (_strategy.getABox().isClosed()) return; } }
@Override public void apply(final Individual x) { if (x.isBlockable()) return; final List<ATermAppl> types = x.getTypes(Node.MAX); final int size = types.size(); for (int j = 0; j < size; j++) { final ATermAppl mc = types.get(j); applyGuessingRule(x, mc); if (_strategy.getABox().isClosed()) return; } }
@Override public void apply(final Individual x) { if (!x.canApply(Node.SOME)) return; final List<ATermAppl> types = x.getTypes(Node.SOME); final int size = types.size(); for (int j = x._applyNext[Node.SOME]; j < size; j++) { final ATermAppl sv = types.get(j); applySomeValuesRule(x, sv); if (_strategy.getABox().isClosed() || x.isPruned()) return; } x._applyNext[Node.SOME] = size; }
@Override public void apply(final Individual x) { if (!x.canApply(Node.SOME)) return; final List<ATermAppl> types = x.getTypes(Node.SOME); final int size = types.size(); for (int j = x._applyNext[Node.SOME]; j < size; j++) { final ATermAppl sv = types.get(j); applySomeValuesRule(x, sv); if (_strategy.getABox().isClosed() || x.isPruned()) return; } x._applyNext[Node.SOME] = size; }
/** * Collects atomic concepts such that either that concept or its negation exist in the _types list without depending on any non-deterministic _branch. First * list is filled with _types and second list is filled with non-_types, i.e. this _individual can never be an instance of any element in the second list. * * @param types All atomic concepts found in types * @param nonTypes All atomic concepts */ public void getObviousTypes(final List<ATermAppl> types, final List<ATermAppl> nonTypes) { for (final ATermAppl c : getTypes(Node.ATOM)) if (getDepends(c).isIndependent()) if (ATermUtils.isPrimitive(c)) types.add(c); else if (ATermUtils.isNegatedPrimitive(c)) nonTypes.add((ATermAppl) c.getArgument(0)); }
/** * Collects atomic concepts such that either that concept or its negation exist in the _types list without depending on any non-deterministic _branch. First * list is filled with _types and second list is filled with non-_types, i.e. this _individual can never be an instance of any element in the second list. * * @param types All atomic concepts found in types * @param nonTypes All atomic concepts */ public void getObviousTypes(final List<ATermAppl> types, final List<ATermAppl> nonTypes) { for (final ATermAppl c : getTypes(Node.ATOM)) if (getDepends(c).isIndependent()) if (ATermUtils.isPrimitive(c)) types.add(c); else if (ATermUtils.isNegatedPrimitive(c)) nonTypes.add((ATermAppl) c.getArgument(0)); }
public boolean activateIndividual(final Individual ind) { // only named non-pruned individuals final boolean changed = false; if (!ind.isRootNominal() || ind.isPruned()) return false; final List<ATermAppl> types = ind.getTypes(Node.ATOM); for (int i = 0; i < types.size(); i++) { final ATermAppl type = types.get(i); activateType(ind, type, ind.getDepends(type)); } activateDifferents(ind); for (final Edge edge : new ArrayList<>(ind.getOutEdges())) if (edge.getTo().isRootNominal()) activateEdge(edge); return changed; }
private boolean processIndividuals() { final IndividualIterator i = _KB.getABox().getIndIterator(); while (i.hasNext()) { final Individual ind = i.next(); final ATermAppl nominal = ATermUtils.makeValue(ind.getName()); for (final ATermAppl term : ind.getTypes()) { if (term.equals(nominal)) continue; if (!isEL(term)) return false; } } return true; }