protected EdgeDirection edgeMatches(final Edge edge) { final Role edgeRole = edge.getRole(); final boolean isFwd = edgeRole.isSubRoleOf(_role); final boolean isBwd = _role.getInverse() != null && edgeRole.isSubRoleOf(_role.getInverse()); return isFwd ? isBwd ? EdgeDirection.BOTH : EdgeDirection.FORWARD : isBwd ? EdgeDirection.BACKWARD : null; }
protected EdgeDirection edgeMatches(final Edge edge) { final Role edgeRole = edge.getRole(); final boolean isFwd = edgeRole.isSubRoleOf(_role); final boolean isBwd = _role.getInverse() != null && edgeRole.isSubRoleOf(_role.getInverse()); return isFwd ? isBwd ? EdgeDirection.BOTH : EdgeDirection.FORWARD : isBwd ? EdgeDirection.BACKWARD : null; }
@Override final public boolean hasRNeighbor(final Role r) { if (_outEdges.hasEdge(r)) return true; final Role invR = r.getInverse(); return invR != null && _inEdges.hasEdge(invR); }
@Override final public boolean hasRNeighbor(final Role r) { if (_outEdges.hasEdge(r)) return true; final Role invR = r.getInverse(); return invR != null && _inEdges.hasEdge(invR); }
public void activateEdge(final Edge edge) { Role r = edge.getRole(); if (r.isAnon()) r = r.getInverse(); final List<AlphaNode> alphas = _map.get(r.getName()); if (alphas != null) for (final AlphaNode alpha : alphas) ((AlphaEdgeNode) alpha).activate(edge); }
/** * {@inheritDoc} */ @Override public boolean hasRNeighbor(final Role role) { return _outEdges.hasEdge(role) || role.isObjectRole() && _inEdges.hasEdge(role.getInverse()); }
public void activateEdge(final Edge edge) { Role r = edge.getRole(); if (r.isAnon()) r = r.getInverse(); final List<AlphaNode> alphas = _map.get(r.getName()); if (alphas != null) for (final AlphaNode alpha : alphas) ((AlphaEdgeNode) alpha).activate(edge); }
private ATermAppl inv(final ATermAppl pred) { return _kb.getRBox().getRole(pred).getInverse().getName(); }
/** * {@inheritDoc} */ @Override public boolean hasRNeighbor(final Role role) { return _outEdges.hasEdge(role) || role.isObjectRole() && _inEdges.hasEdge(role.getInverse()); }
private ATermAppl inv(final ATermAppl pred) { return _kb.getRBox().getRole(pred).getInverse().getName(); }
@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); } }
private ATermAppl inv(final ATermAppl pred) { return _kb.getRBox().getRole(pred).getInverse().getName(); }
public EdgeList getRNeighborEdges(final Role r) { if (null == r) return new EdgeList(); // TODO : this is really ugly. final EdgeList neighbors = _outEdges.getEdges(r); final Role invR = r.getInverse(); // inverse of datatype properties is not defined if (invR != null) neighbors.addAll(_inEdges.getEdges(invR)); return neighbors; }
public EdgeList getRNeighborEdges(final Role r) { if (null == r) return new EdgeList(); // TODO : this is really ugly. final EdgeList neighbors = _outEdges.getEdges(r); final Role invR = r.getInverse(); // inverse of datatype properties is not defined if (invR != null) neighbors.addAll(_inEdges.getEdges(invR)); return neighbors; }
private static boolean isBlockedByChain(final BlockingContext cxt, final ATermList chain, final ATermAppl c) { final Role firstRole = cxt._blocked.getABox().getRole(chain.getFirst()); return !cxt.getIncomingRoles().contains(firstRole.getInverse()) && cxt._blocked.getParent().hasType(ATermUtils.makeAllValues(chain.getNext(), c)); } }
private static boolean isBlockedByChain(final BlockingContext cxt, final ATermList chain, final ATermAppl c) { final Role firstRole = cxt._blocked.getABox().getRole(chain.getFirst()); return !cxt.getIncomingRoles().contains(firstRole.getInverse()) && cxt._blocked.getParent().hasType(ATermUtils.makeAllValues(chain.getNext(), c)); } }
default boolean addInverseRole(final ATerm s, final ATerm r, final DependencySet ds) { final Role roleS = getRole(s); final Role roleR = getRole(r); if (roleS == null || roleR == null || !roleS.isObjectRole() || !roleR.isObjectRole()) return false; else addEquivalentRole(roleS.getInverse().getName(), r, ds); return true; }
default boolean addInverseRole(final ATerm s, final ATerm r, final DependencySet ds) { final Role roleS = getRole(s); final Role roleR = getRole(r); if (roleS == null || roleR == null || !roleS.isObjectRole() || !roleR.isObjectRole()) return false; else addEquivalentRole(roleS.getInverse().getName(), r, ds); return true; }
protected WME createEdge(final Edge edge, final EdgeDirection dir) { if (_doExplanation) { final DependencySet ds = dir == EdgeDirection.FORWARD ? _role.getExplainSub(edge.getRole().getName()) : _role.getInverse().getExplainSub(edge.getRole().getName()); if (!ds.getExplain().isEmpty()) return WME.createEdge(new DefaultEdge(edge.getRole(), edge.getFrom(), edge.getTo(), edge.getDepends().union(ds, _doExplanation)), dir); } return WME.createEdge(edge, dir); }
protected WME createEdge(final Edge edge, final EdgeDirection dir) { if (_doExplanation) { final DependencySet ds = dir == EdgeDirection.FORWARD ? _role.getExplainSub(edge.getRole().getName()) : _role.getInverse().getExplainSub(edge.getRole().getName()); if (!ds.getExplain().isEmpty()) return WME.createEdge(new DefaultEdge(edge.getRole(), edge.getFrom(), edge.getTo(), edge.getDepends().union(ds, _doExplanation)), dir); } return WME.createEdge(edge, dir); }