private void loadWorksheetHistory(Resource mappingResource, KR2RMLMapping kr2rmlMapping) throws JSONException { JSONArray normalizedCommandsJSON = getWorksheetHistory(mappingResource); kr2rmlMapping.setWorksheetHistory(normalizedCommandsJSON); }
public synchronized Model getModel() throws IOException { if(this.model == null){ loadModel(); } return model; }
private void loadModel() throws IOException { if (model != null) { return; } synchronized(this) { if(model == null) { this.model = loadSourceModelIntoJenaModel(id); } } }
private synchronized WorksheetR2RMLJenaModelParser loadModel(R2RMLMappingIdentifier modelIdentifier) throws JSONException, KarmaException { if(readModelParsers.containsKey(modelIdentifier.getName())) { return readModelParsers.get(modelIdentifier.getName()); } WorksheetR2RMLJenaModelParser parser = new WorksheetR2RMLJenaModelParser(modelIdentifier); this.readModelParsers.put(modelIdentifier.getName(), parser); return parser; }
private void generateMappingFromSteinerTree(boolean generateInverse) throws KarmaException { // Generate TriplesMap for each InternalNode in the tree createSubjectMaps(); // Create TripleMaps createTripleMaps(); // Identify the object property links createPredicateObjectMaps(generateInverse); // Identify blank nodes and generate backward links data structure for the triple maps identifyBlankNodes(); // Calculate the nodes covered by each InternalNode calculateColumnNodesCoveredByBlankNodes(); addPrefixes(); }
private void saveLinkFromColumnNameToPredicateObjectMap(String columnName, PredicateObjectMap poMap) { List<PredicateObjectMap> pomList = r2rmlMapping.getAuxInfo().getColumnNameToPredObjLinks().get(columnName); if (pomList == null) { pomList = new ArrayList<>(); } pomList.add(poMap); r2rmlMapping.getAuxInfo().getColumnNameToPredObjLinks().put(columnName, pomList); }
private void determineIfMappingIsR2RMLCompatible(Worksheet worksheet2) { boolean isRMLCompatible = KR2RMLWorksheetHistoryCompatibilityVerifier.verify(workspace, r2rmlMapping.getWorksheetHistory()); r2rmlMapping.setRMLCompatible(isRMLCompatible); if(isRMLCompatible && r2rmlMapping.getSourceType().equals(SourceTypes.DB)) { r2rmlMapping.setR2RMLCompatible(true); } }
public void addModel(String modelName, String modelFile, String modelUri, String modelContent) throws MalformedURLException { URL modelURL = getModel(modelFile, modelUri); generator.addModel(new R2RMLMappingIdentifier(modelName, modelURL, modelContent)); }
private void addColumnNameFormatter() { r2rmlMapping.setColumnNameFormatter(KR2RMLColumnNameFormatterFactory.getFormatter(r2rmlMapping.getSourceType())); }
private void addTripleMaps(KR2RMLMapping mapping, Resource mappingRes, Worksheet worksheet, Workspace workspace) throws RepositoryException { /** Get the required data structures of R2RML **/ List<TriplesMap> triplesMapList = mapping.getTriplesMapList(); /** Add all the triple maps **/ for (TriplesMap trMap:triplesMapList) { addTripleMap(mapping, mappingRes, worksheet, workspace, trMap); } }
private void addPrefixes(KR2RMLMapping mapping) throws RepositoryException { for (Prefix p : mapping.getPrefixes()) { con.setNamespace(p.getPrefix(), p.getNamespace()); } con.setNamespace(Prefixes.RR, Namespaces.RR); con.setNamespace(Prefixes.KARMA_DEV, Namespaces.KARMA_DEV); }
public KR2RMLMappingColumnNameHNodeTranslator(RepFactory factory, Worksheet worksheet) { this.factory = factory; this.worksheet = worksheet; this.populateHNodeIdAndColumnNameMaps(); }
public KR2RMLMapping getMappings() { return alignmentMappingGenerator.getKR2RMLMapping(); }
public KR2RMLMapping(R2RMLMappingIdentifier id, KR2RMLVersion version) { super(id); this.version = version; this.auxInfo = new KR2RMLMappingAuxillaryInformation(); this.subjectMapIndex = new HashMap<>(); this.triplesMapIndex = new HashMap<>(); }
public String translateGraphNodeIdToTriplesMapId(String nodeId){ String triplesMapId = null; triplesMapId = auxInfo.getGraphNodeIdToTriplesMapIdMap().get(nodeId); if(triplesMapId != null){ return triplesMapId; } //check if the nodeId provided is actually a triplesMapId if(triplesMapIndex.containsKey(nodeId)){ return nodeId; } return triplesMapId; } }
public static String findSubjectMapTemplateAnchor( List<String> columnsCovered) { int maxDepth = Integer.MIN_VALUE; String anchor = null; for(String column : columnsCovered) { int depth = 0; depth = calculateColumnDepth(column, depth); if(depth > maxDepth) { maxDepth = depth; anchor = column; } } LOG.debug("found anchor " + anchor + " at " + maxDepth); return anchor; }
public String getColumnNameForHNodeId(String hNodeId) { if(!this.hNodeIdToColumnName.containsKey(hNodeId)) { String columnName = translateHNodeIdToColumnName(hNodeId); if(null != columnName) { hNodeIdToColumnName.put(hNodeId, columnName); columnNameToHNodeId.put(columnName, hNodeId); } } return hNodeIdToColumnName.get(hNodeId); }
public void populateHNodeIdAndColumnNameMaps() { HTable hTable = worksheet.getHeaders(); populateHNodeIdAndColumnNameMapsForHTable(hTable); } private void populateHNodeIdAndColumnNameMapsForHTable(HTable hTable) {
public String getHNodeIdForColumnName(String templateTermValue) throws HNodeNotFoundKarmaException { if(!this.columnNameToHNodeId.containsKey(templateTermValue)) { try { String hNodeId = translateColumnNameToHNodeId(templateTermValue); columnNameToHNodeId.put(templateTermValue, hNodeId); hNodeIdToColumnName.put(hNodeId, templateTermValue); } catch (JSONException e) { throw new HNodeNotFoundKarmaException("Unable to find HNodeId for column name", templateTermValue); } } return this.columnNameToHNodeId.get(templateTermValue); }