public CachedInEdge(final Edge edge) { super(edge.getRole(), edge.getFromName(), edge.getDepends()); }
public CachedInEdge(final Edge edge) { super(edge.getRole(), edge.getFromName(), edge.getDepends()); }
@Override public boolean activate(final Edge edge) { assert edgeMatches(edge) != null; if (edge.getFromName().equals(edge.getToName())) { activate(WME.createEdge(edge)); return true; } return false; }
@Override public boolean activate(final Edge edge) { assert edgeMatches(edge) != null; if (edge.getFromName().equals(edge.getToName())) { activate(WME.createEdge(edge)); return true; } return false; }
private static boolean intersectsRNeighbors(final Set<ATermAppl> samesAndMaybes, final CachedNode node, final Role role) { if (samesAndMaybes.isEmpty()) return false; for (final Edge edge : node.getOutEdges()) if (samesAndMaybes.contains(edge.getToName()) && edge.getRole().isSubRoleOf(role)) return true; if (role.isObjectRole()) { final Role invRole = role.getInverse(); for (final Edge edge : node.getInEdges()) if (samesAndMaybes.contains(edge.getFromName()) && edge.getRole().isSubRoleOf(invRole)) return true; } return false; } }
private static boolean intersectsRNeighbors(final Set<ATermAppl> samesAndMaybes, final CachedNode node, final Role role) { if (samesAndMaybes.isEmpty()) return false; for (final Edge edge : node.getOutEdges()) if (samesAndMaybes.contains(edge.getToName()) && edge.getRole().isSubRoleOf(role)) return true; if (role.isObjectRole()) { final Role invRole = role.getInverse(); for (final Edge edge : node.getInEdges()) if (samesAndMaybes.contains(edge.getFromName()) && edge.getRole().isSubRoleOf(invRole)) return true; } return false; } }
private static Set<ATermAppl> getRNeighbors(final CachedNode node, final Role role) { final Set<ATermAppl> neighbors = new HashSet<>(); for (final Edge edge : node.getOutEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(role)) neighbors.add(edge.getToName()); } if (role.isObjectRole()) { final Role invRole = role.getInverse(); for (final Edge edge : node.getInEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(invRole)) neighbors.add(edge.getFromName()); } } return neighbors; }
private static Set<ATermAppl> getRNeighbors(final CachedNode node, final Role role) { final Set<ATermAppl> neighbors = new HashSet<>(); for (final Edge edge : node.getOutEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(role)) neighbors.add(edge.getToName()); } if (role.isObjectRole()) { final Role invRole = role.getInverse(); for (final Edge edge : node.getInEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(invRole)) neighbors.add(edge.getFromName()); } } return neighbors; }
private static Set<ATermAppl> getRNeighbors(final CachedNode node, final Role role) { final Set<ATermAppl> neighbors = new HashSet<>(); for (final Edge edge : node.getOutEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(role)) neighbors.add(edge.getToName()); } if (role.isObjectRole()) { final Role invRole = role.getInverse(); for (final Edge edge : node.getInEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(invRole)) neighbors.add(edge.getFromName()); } } return neighbors; }
private static Set<ATermAppl> getRNeighbors(final CachedNode node, final Role role) { final Set<ATermAppl> neighbors = new HashSet<>(); for (final Edge edge : node.getOutEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(role)) neighbors.add(edge.getToName()); } if (role.isObjectRole()) { final Role invRole = role.getInverse(); for (final Edge edge : node.getInEdges()) { final Role r = edge.getRole(); if (r.isSubRoleOf(invRole)) neighbors.add(edge.getFromName()); } } return neighbors; }
private static MultiValueMap<ATermAppl, Role> collectNeighbors(final CachedNode ind) { final MultiValueMap<ATermAppl, Role> neighbors = new MultiValueMap<>(); for (final Edge edge : ind.getInEdges()) { final Role role = edge.getRole(); final ATermAppl neighbor = edge.getFromName(); if (!ATermUtils.isBnode(neighbor)) neighbors.putSingle(neighbor, role); } for (final Edge edge : ind.getOutEdges()) { final Role role = edge.getRole(); final ATermAppl neighbor = edge.getToName(); if (role.isObjectRole() && !ATermUtils.isBnode(neighbor)) neighbors.putSingle(neighbor, role.getInverse()); } return neighbors; }
private static MultiValueMap<ATermAppl, Role> collectNeighbors(final CachedNode ind) { final MultiValueMap<ATermAppl, Role> neighbors = new MultiValueMap<>(); for (final Edge edge : ind.getInEdges()) { final Role role = edge.getRole(); final ATermAppl neighbor = edge.getFromName(); if (!ATermUtils.isBnode(neighbor)) neighbors.putSingle(neighbor, role); } for (final Edge edge : ind.getOutEdges()) { final Role role = edge.getRole(); final ATermAppl neighbor = edge.getToName(); if (role.isObjectRole() && !ATermUtils.isBnode(neighbor)) neighbors.putSingle(neighbor, role.getInverse()); } return neighbors; }
final ATermAppl val = checkInverses ? edge.getFromName() : edge.getToName();
final ATermAppl val = checkInverses ? edge.getFromName() : edge.getToName();