/** * @param val * @return */ private static boolean isRootNominal(final KnowledgeBase kb, final ATermAppl val) { final Individual ind = kb.getABox().getIndividual(val); return ind != null && ind.isRootNominal(); }
/** * @param val * @return */ private static boolean isRootNominal(final KnowledgeBase kb, final ATermAppl val) { final Individual ind = kb.getABox().getIndividual(val); return ind != null && ind.isRootNominal(); }
@Override public Edge addEdge(final Individual subj, final Role pred, final Node obj, final DependencySet ds) { final Edge edge = super.addEdge(subj, pred, obj, ds); if (edge != null && !_abox.isClosed() && subj.isRootNominal() && obj.isRootNominal()) if (_interpreter != null) _interpreter._alphaNet.activateEdge(edge); return edge; }
@Override public Edge addEdge(final Individual subj, final Role pred, final Node obj, final DependencySet ds) { final Edge edge = super.addEdge(subj, pred, obj, ds); if (edge != null && !_abox.isClosed() && subj.isRootNominal() && obj.isRootNominal()) if (_interpreter != null) _interpreter._alphaNet.activateEdge(edge); return edge; }
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; }
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; }
@Override public void getSimpleObjectPropertyValues(final Individual subj, final Role role, final Set<ATermAppl> knowns, final Set<ATermAppl> unknowns, final boolean getSames) { final EdgeList edges = subj.getRNeighborEdges(role); for (int i = 0; i < edges.size(); i++) { final Edge edge = edges.get(i); final DependencySet ds = edge.getDepends(); final Individual value = (Individual) edge.getNeighbor(subj); if (value.isRootNominal()) if (ds.isIndependent()) { if (getSames) getSames(value, knowns, unknowns); else knowns.add(value.getName()); } else if (getSames) getSames(value, unknowns, unknowns); else unknowns.add(value.getName()); } }
@Override public void getSimpleObjectPropertyValues(final Individual subj, final Role role, final Set<ATermAppl> knowns, final Set<ATermAppl> unknowns, final boolean getSames) { final EdgeList edges = subj.getRNeighborEdges(role); for (int i = 0; i < edges.size(); i++) { final Edge edge = edges.get(i); final DependencySet ds = edge.getDepends(); final Individual value = (Individual) edge.getNeighbor(subj); if (value.isRootNominal()) if (ds.isIndependent()) { if (getSames) getSames(value, knowns, unknowns); else knowns.add(value.getName()); } else if (getSames) getSames(value, unknowns, unknowns); else unknowns.add(value.getName()); } }
return; if (tg.isFinal(st) && subj.isRootNominal())
return; if (tg.isFinal(st) && subj.isRootNominal())
final Individual value = (Individual) edge.getNeighbor(subj); final Role edgeRole = edge.getFrom().equals(subj) ? edge.getRole() : edge.getRole().getInverse(); if (value.isRootNominal()) if (isIndependent && ds.isIndependent())
final Individual value = (Individual) edge.getNeighbor(subj); final Role edgeRole = edge.getFrom().equals(subj) ? edge.getRole() : edge.getRole().getInverse(); if (value.isRootNominal()) if (isIndependent && ds.isIndependent())