/** * Extract triplesMap contents. * * @param triplesMap * @param r2rmlMappingGraph * @param triplesMapSubject * @param triplesMapResources * @param storedTriplesMaps * @throws InvalidR2RMLStructureException * @throws InvalidR2RMLSyntaxException * @throws R2RMLDataError */ private static void extractTriplesMap( SesameDataSet r2rmlMappingGraph, Resource triplesMapSubject, Map<Resource, TriplesMap> triplesMapResources) throws InvalidR2RMLStructureException, InvalidR2RMLSyntaxException, R2RMLDataError { if (log.isDebugEnabled()) { log.debug( "[RMLMappingFactory:extractTriplesMap] Extract TriplesMap subject : " + triplesMapSubject.stringValue()); } TriplesMap result = triplesMapResources.get(triplesMapSubject); // Extract TriplesMap properties // MVS: create LogicalSource LogicalSource logicalSource = extractLogicalSource(r2rmlMappingGraph, triplesMapSubject); // Extract subject // Create a graph maps storage to save all met graph uri during parsing. Set<GraphMap> graphMaps = new HashSet<GraphMap>(); // log.debug("[RMLMappingFactory:extractTriplesMap] Current number of created graphMaps : " // + graphMaps.size()); SubjectMap subjectMap = extractSubjectMap(r2rmlMappingGraph, triplesMapSubject, graphMaps, result); // log.debug("[RMLMappingFactory:extractTriplesMap] Current number of created graphMaps : " // + graphMaps.size()); // Extract predicate-object maps Set<PredicateObjectMap> predicateObjectMaps = extractPredicateObjectMaps( r2rmlMappingGraph, triplesMapSubject, graphMaps, result, triplesMapResources); log.debug( "[RMLMappingFactory:extractTriplesMap] Current number of created graphMaps : " + graphMaps.size()); // Fill triplesMap for (PredicateObjectMap predicateObjectMap : predicateObjectMaps) { result.addPredicateObjectMap(predicateObjectMap); } result.setLogicalSource(logicalSource); result.setSubjectMap(subjectMap); log.debug( "[RMLMappingFactory:extractTriplesMap] Extract of TriplesMap subject : " + triplesMapSubject.stringValue() + " done."); }