public SteinerTreeRootStrategy() { super(new RootStrategy()); } public SteinerTreeRootStrategy(
public String findRoot(RootStrategy strategy) { return strategy.findRoot(this); }
@Override public String findRoot(TriplesMapGraph graph) { if(graph.getTriplesMapIds().contains(rootTriplesMapId)) return rootTriplesMapId; return this.backupStrategy.findRoot(graph); }
public UserSpecifiedRootStrategy(String rootTriplesMapId) { super(new RootStrategy()); this.rootTriplesMapId = rootTriplesMapId; } public UserSpecifiedRootStrategy(String rootTriplesMapId,
public void killPredicateObjectMap(List<String> POMToKill, RootStrategy strategy) { if (POMToKill.isEmpty()) { return; } List<TriplesMapLink> remainedLinks = new LinkedList<>(); Set<String> visited = new HashSet<>(); killPredicateObjectMap(strategy.findRoot(this), POMToKill, remainedLinks, visited); links.clear(); neighboringTriplesMapCache.clear(); triplesMapIndex.clear(); for (TriplesMapLink link : remainedLinks) { addLink(link); } }
public WorksheetDepthRootStrategy() { super(new RootStrategy()); } public WorksheetDepthRootStrategy(
public void killTriplesMap(List<String> tripleMapToKill, RootStrategy strategy) { if (tripleMapToKill.isEmpty()) { return; } List<TriplesMapLink> remainedLinks = new LinkedList<>(); Set<String> visited = new HashSet<>(); killTriplesMap(strategy.findRoot(this), tripleMapToKill, remainedLinks, visited); links.clear(); neighboringTriplesMapCache.clear(); triplesMapIndex.clear(); for (TriplesMapLink link : remainedLinks) { addLink(link); } }
public void stopTriplesMap(List<String> tripleMapToStop, RootStrategy strategy) { if (tripleMapToStop.isEmpty()) { return; } List<TriplesMapLink> remainedLinks = new LinkedList<>(); Set<String> visited = new HashSet<>(); stopTriplesMap(strategy.findRoot(this), tripleMapToStop, remainedLinks, visited); links.clear(); neighboringTriplesMapCache.clear(); triplesMapIndex.clear(); for (TriplesMapLink link : remainedLinks) { addLink(link); } }
@Override public String findRoot(TriplesMapGraph graph) { for(String triplesMapId :graph.getTriplesMapIds()) { if(graph.getTriplesMap(triplesMapId).getSubject().isSteinerTreeRootNode()) { return triplesMapId; } } return this.backupStrategy.findRoot(graph); }
@Override public String findRoot(TriplesMapGraph graph) { Set<String> triplesMapIds = graph.getTriplesMapIds(); int minDepth = Integer.MAX_VALUE; String root = null; for(String triplesMapId : triplesMapIds) { TriplesMap map = graph.getTriplesMap(triplesMapId); int depth = ColumnTemplateTerm.calculateMaximumColumnPathLength(map.getSubject().getTemplate().getAllColumnNameTermElements()); if(depth < minDepth) { minDepth = depth; root = triplesMapId; } } if(root == null) { return backupStrategy.findRoot(graph); } return root; }