private Map<TriplesMap, TriplesMapWorker> generatePlan(TriplesMapGraph graph, TriplesMapPlan plan, RootStrategy strategy)
{
unprocessedTriplesMapsIds.addAll(graph.getTriplesMapIds());
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(