private void killPredicateObjectMap(String rootId, List<String> POMToKill, List<TriplesMapLink> remainedLinks, Set<String> visited) { visited.add(rootId); Set<String> next = new HashSet<>(); List<TriplesMapLink> links = neighboringTriplesMapCache.get(rootId); if (links != null) { for (TriplesMapLink link : links) { if (link.getSourceMap().getId().equals(rootId) && !POMToKill.contains(link.getPredicateObjectMapLink().getId())) { next.add(link.getTargetMap().getId()); remainedLinks.add(link); } } } for (String n : next) { if (!visited.contains(n)) { killPredicateObjectMap(n, POMToKill, remainedLinks, visited); } } }
logger.debug("Removing " + link.getPredicateObjectMapLink()); newGraph.removeLink(link); logger.debug("Flipping " + link.getPredicateObjectMapLink());
logger.debug("Flipping " + link.getPredicateObjectMapLink());
public TriplesMapGraph copyGraph() { TriplesMapGraph newGraph = new TriplesMapGraph(); for(TriplesMap triplesMap : triplesMapIndex.values()) { newGraph.addTriplesMap(triplesMap); } for(TriplesMapLink link : links) { newGraph.addLink(new TriplesMapLink(link.getSourceMap(), link.getTargetMap(), link.getPredicateObjectMapLink())); } return newGraph; } public TriplesMapGraph shallowCopyGraph() {
link.getTargetMap().getId().compareTo(triplesMap.getId()) == 0 && link.isFlipped()) PredicateObjectMap pom = link.getPredicateObjectMapLink(); TriplesMap objectTriplesMap; if(link.isFlipped()) LOG.error("Unable to generate plan for link " + link.getSourceMap().getId() + " " + link.getPredicateObjectMapLink().getPredicate().getId() + " " + link.getTargetMap().getId(), e);