private void identifyBlankNodes() { for (SubjectMap subjMap:r2rmlMapping.getSubjectMapIndex().values()) { if (subjMap.getTemplate().getAllTerms().size() == 1 && (subjMap.getTemplate().getAllTerms().get(0) instanceof StringTemplateTerm)) { String str = subjMap.getTemplate().getAllTerms().get(0).getTemplateTermValue(); if (str.equals(sourceNamespace)) subjMap.setAsBlankNode(true); } } }
protected TemplateTermSetPopulator generateTemplateTermSetPopulatorForSubjectMap(SubjectMap subjMap) throws HNodeNotFoundKarmaException { TemplateTermSet subjMapTemplate = null; TemplateTermSetPopulator subjectMapTTSPopulator = null; if (subjMap.isBlankNode()) { List<String> columnsCovered = kr2rmlMapping.getAuxInfo().getBlankNodesColumnCoverage().get(subjMap.getId()); subjMapTemplate = generateSubjectMapTemplateForBlankNode(subjMap, columnsCovered); subjectMapTTSPopulator = new TemplateTermSetPopulator(subjMapTemplate, new StringBuilder(), uriFormatter, true, false); } else { subjMapTemplate = subjMap.getTemplate(); subjectMapTTSPopulator = new TemplateTermSetPopulator(subjMapTemplate, new StringBuilder(), uriFormatter); } return subjectMapTTSPopulator; } protected void populateTermsToPathForSubject(
@Override public String findRoot(TriplesMapGraph graph) { Set<String> triplesMapIds = graph.getTriplesMapIds(); int minDepth = Integer.MAX_VALUE; String root = null; for(String triplesMapId : triplesMapIds) { TriplesMap map = graph.getTriplesMap(triplesMapId); int depth = ColumnTemplateTerm.calculateMaximumColumnPathLength(map.getSubject().getTemplate().getAllColumnNameTermElements()); if(depth < minDepth) { minDepth = depth; root = triplesMapId; } } if(root == null) { return backupStrategy.findRoot(graph); } return root; }
Value templVal = f.createLiteral(sjMap.getTemplate() .getR2rmlTemplateString(factory, columnNameFormatter)); con.add(sjBlankNode, repoURIs.get(Uris.RR_TEMPLATE_URI), templVal);
subj.getTemplate().addTemplateTermToSet(new StringTemplateTerm(sourceNamespace)); StringTemplateTerm typeTerm = new StringTemplateTerm(node.getLabel().getUri(), true); TemplateTermSet typeTermSet = new TemplateTermSet(); for(TemplateTerm term : subj.getTemplate().getAllColumnNameTermElements())
LOG.error("Unable to add field: " + predicateShortHand + " for " + pom.getTriplesMap().getSubject().getTemplate().toString(), e);
TemplateTermSet subjTemplTermSet = trMap.getSubject().getTemplate(); if(subjTemplTermSet != null)