public void generateInternal(TemplateTermSet subjectMapTemplate, PredicateObjectMap pom, TriplesMap objectTriplesMap, Map<ColumnTemplateTerm, HNodePath> subjectTermsToPaths) throws HNodeNotFoundKarmaException { this.isLiteral = false; objectTemplateTermSetPopulator = generateTemplateTermSetPopulatorForSubjectMap(objectTriplesMap.getSubject()); generateInternal(subjectMapTemplate, pom, subjectTermsToPaths); } @Override
public SteinerTreeRootStrategy() { super(new RootStrategy()); } public SteinerTreeRootStrategy(
public SubjectMapPlan(TriplesMap triplesMap, KR2RMLMapping kr2rmlMapping, URIFormatter uriFormatter, RepFactory factory, KR2RMLMappingColumnNameHNodeTranslator translator, SuperSelection sel) throws HNodeNotFoundKarmaException { super(kr2rmlMapping, uriFormatter, factory, translator, sel); configureSubjectMapPlan(triplesMap); } public SubjectMap configureSubjectMapPlan(TriplesMap triplesMap)
public TriplesMapGraph copyGraph(HashSet<String> triplesMapsIds) { TriplesMapGraph newGraph = new TriplesMapGraph(); for(TriplesMapLink link : links) { if (triplesMapsIds != null) { triplesMapsIds.add(link.getSourceMap().getId()); triplesMapsIds.add(link.getTargetMap().getId()); } newGraph.addLink(link); } return newGraph; }
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() {
public List<String> removeLink(TriplesMapLink link) { List<String> removedTriplesMaps = new LinkedList<>(); links.remove(link); removedTriplesMaps.addAll(removeLinkFromCache(link, link.getTargetMap().getId())); removedTriplesMaps.addAll(removeLinkFromCache(link, link.getSourceMap().getId())); return removedTriplesMaps; }
private boolean allLinksAreIncoming(String triplesMapId, List<TriplesMapLink> links) { for(TriplesMapLink link : links) { if(link.getSourceMap().getId().compareTo(triplesMapId) == 0 && !link.isFlipped()) { return false; } } logger.debug("all links are in coming " + triplesMapId); return true; }
@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 toString() { if (template != null) return "ObjectMap [\n" + "template=" + template + ",\n" + "rdfLiteralType=" + rdfLiteralType + ",\n" + "language=" + language + "]"; else if (refObjectMap != null) return "RefObjectMap [" + refObjectMap.getParentTriplesMap().getId() + "]"; else return "<No ObjectMap or RefObjectMap found for the ObjectMap!>"; }
public void execute(Row r, List<KR2RMLRDFWriter> outWriters) { List<PopulatedTemplateTermSet> subjects = subjectMapPlan.execute(r); for(PredicateObjectMappingPlan internalLinkPlan : internalLinksPlans) { internalLinkPlan.outputTriples(outWriters, internalLinkPlan.execute(r, subjects), r); } for(PredicateObjectMappingPlan columnLinkPlan : columnLinksPlans) { columnLinkPlan.outputTriples(outWriters, columnLinkPlan.execute(r, subjects), r); } for(PredicateObjectMappingPlan constantLinkPlan : constantLinksPlans) { constantLinkPlan.outputTriples(outWriters, constantLinkPlan.execute(r, subjects), r); } } }
public static TriplesMapGraph mergeGraphs(TriplesMapGraph graphToMerge1, TriplesMapGraph graphToMerge2) { TriplesMapGraph newGraph = new TriplesMapGraph(); for(TriplesMapLink link : graphToMerge1.getLinks()) { newGraph.addLink(link); } for(TriplesMapLink link : graphToMerge2.getLinks()) { newGraph.addLink(link); } return newGraph; } private void updateCache(TriplesMapLink link) {
public TriplesMapPlan generatePlan(TriplesMapGraphMerger tmf, RootStrategy strategy) { List<TriplesMapWorker> workers = new LinkedList<>(); Map<String, List<PopulatedTemplateTermSet>>triplesMapSubjects = new ConcurrentHashMap<>(); TriplesMapPlan plan = new TriplesMapPlan(workers, r, triplesMapSubjects); List<TriplesMapGraph> graphs = tmf.getGraphs(); for(TriplesMapGraph graph : graphs) { //This can end up in deadlock. workers.addAll(generatePlan(graph, plan, strategy).values()); } return plan; }
@Override public String findRoot(TriplesMapGraph graph) { if(graph.getTriplesMapIds().contains(rootTriplesMapId)) return rootTriplesMapId; return this.backupStrategy.findRoot(graph); }
@Override public Boolean call() throws Exception { for(TriplesMapWorker worker : plan.workers) { worker.call(); } return true; }
public ColumnPredicateObjectMappingPlan(TemplateTermSet subjectMapTemplate, PredicateObjectMap pom, Map<ColumnTemplateTerm, HNodePath> subjectTermsToPaths, KR2RMLMapping kr2rmlMapping, URIFormatter uriFormatter, RepFactory factory, KR2RMLMappingColumnNameHNodeTranslator translator, Map<String, String> hNodeToContextUriMap, boolean generateContext, SuperSelection sel) throws HNodeNotFoundKarmaException { super(kr2rmlMapping, uriFormatter, factory, translator, sel); this.hNodeToContextUriMap = hNodeToContextUriMap; this.generateContext = generateContext; generateLiteral(subjectMapTemplate, pom, subjectTermsToPaths); }
public String findRoot(RootStrategy strategy) { return strategy.findRoot(this); }
public InternalPredicateObjectMappingPlan(TemplateTermSet subjectMapTemplate, PredicateObjectMap pom, TriplesMap objectTriplesMap, Map<ColumnTemplateTerm, HNodePath> subjectTermsToPaths, boolean isFlipped, KR2RMLMapping kr2rmlMapping, URIFormatter uriFormatter, RepFactory factory, KR2RMLMappingColumnNameHNodeTranslator translator, SuperSelection sel) throws HNodeNotFoundKarmaException { super(kr2rmlMapping, uriFormatter, factory, translator, sel); this.isFlipped = isFlipped; generateInternal(subjectMapTemplate, pom, objectTriplesMap, subjectTermsToPaths); } public void generateInternal(TemplateTermSet subjectMapTemplate, PredicateObjectMap pom, TriplesMap objectTriplesMap, Map<ColumnTemplateTerm, HNodePath> subjectTermsToPaths) throws HNodeNotFoundKarmaException
@Override public String toString() { StringBuilder str = new StringBuilder(); str.append("R2RMLMapping [triplesMapSet=\n"); for (TriplesMap trMap:triplesMapList) str.append("\t" + trMap.toString() + "\n"); str.append("]"); return str.toString(); } }
public UserSpecifiedRootStrategy(String rootTriplesMapId) { super(new RootStrategy()); this.rootTriplesMapId = rootTriplesMapId; } public UserSpecifiedRootStrategy(String rootTriplesMapId,
public WorksheetDepthRootStrategy() { super(new RootStrategy()); } public WorksheetDepthRootStrategy(