private Map<TriplesMap, TriplesMapWorker> generatePlan(TriplesMapGraph graph, TriplesMapPlan plan, RootStrategy strategy) { unprocessedTriplesMapsIds.addAll(graph.getTriplesMapIds()); //add strategy Map<TriplesMap, TriplesMapWorker> mapToWorker = new HashMap<>(); if(strategy == null) { strategy = new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy()); } String triplesMapId = graph.findRoot(strategy); do { if(triplesMapId == null) { triplesMapId = unprocessedTriplesMapsIds.iterator().next(); } TriplesMap map = graph.getTriplesMap(triplesMapId); generateTriplesMapWorker(mapToWorker, graph, map, plan); triplesMapId = null; } while(!unprocessedTriplesMapsIds.isEmpty()); return mapToWorker; } private void generateTriplesMapWorker(
if(rootStrategy == null) rootStrategy = new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy());
strategy = new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy());
RootStrategy strategy = new UserSpecifiedRootStrategy(rootTriplesMapId, new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy())); KR2RMLWorksheetRDFGenerator generator = new KR2RMLWorksheetRDFGenerator(worksheet, workspace, writer, false, strategy, mapping, errorReport, selection); try {
AvroKR2RMLRDFWriter writer = new AvroKR2RMLRDFWriter(fos); writer.addPrefixes(mapping.getPrefixes()); RootStrategy strategy = new UserSpecifiedRootStrategy(rootTriplesMapId, new SteinerTreeRootStrategy(new WorksheetDepthRootStrategy())); KR2RMLWorksheetRDFGenerator generator = new KR2RMLWorksheetRDFGenerator(worksheet, workspace, writer, false, strategy, mapping, errorReport, selection);