public ConstantPredicateObjectMappingPlan(TemplateTermSet subjectMapTemplate,PredicateObjectMap pom, KR2RMLMapping kr2rmlMapping,Map<ColumnTemplateTerm, HNodePath> subjectTermsToPaths, URIFormatter uriFormatter, RepFactory factory, KR2RMLMappingColumnNameHNodeTranslator translator, SuperSelection sel) { super(kr2rmlMapping, uriFormatter, factory, translator, sel); this.pom = pom; objectTemplateTermSetPopulator = new TemplateTermSetPopulator(pom.getObject().getTemplate(), new StringBuilder(), uriFormatter, false, true); try { generateInternal(subjectMapTemplate, pom, subjectTermsToPaths); } catch (HNodeNotFoundKarmaException e) { LOG.error("Unable to generate plan!", e); } }
private void addColumnNameToPredObjectMapLink(ObjectMap objMap, PredicateObjectMap pom, KR2RMLMapping kr2rmlMapping) { TemplateTermSet objTermSet = objMap.getTemplate(); if(objTermSet == null) { logger.error("No matching object term set"); return; } for (TemplateTerm term:objTermSet.getAllTerms()) { if (term instanceof ColumnTemplateTerm) { String columnName = term.getTemplateTermValue(); String columnNameWithoutFormatting = kr2rmlMapping.getColumnNameFormatter().getColumnNameWithoutFormatting(columnName); List<PredicateObjectMap> existingPomList = kr2rmlMapping.getAuxInfo(). getColumnNameToPredObjLinks().get(columnNameWithoutFormatting); if (existingPomList == null) { existingPomList = new ArrayList<>(); } existingPomList.add(pom); kr2rmlMapping.getAuxInfo().getColumnNameToPredObjLinks().put(columnNameWithoutFormatting, existingPomList); } } }
public void generateLiteral(TemplateTermSet subjectMapTemplate, PredicateObjectMap pom, Map<ColumnTemplateTerm, HNodePath> subjectTermsToPaths) throws HNodeNotFoundKarmaException { this.isLiteral = true; TemplateTermSet literalTemplate = pom.getObject().getRdfLiteralType(); literalTemplateValue = null; if(literalTemplate != null) literalTemplateValue = generateStringValueForTemplate(literalTemplate); TemplateTermSet languageTemplate = pom.getObject().getLanguage(); literalLanguage = null; if(languageTemplate != null) literalLanguage = generateStringValueForTemplate(languageTemplate); objectTemplateTermSetPopulator = new TemplateTermSetPopulator(pom.getObject().getTemplate(), new StringBuilder(), uriFormatter, false, true); generateInternal(subjectMapTemplate, pom, subjectTermsToPaths); if(generateContext && objectTemplateTermSetPopulator.getTerms().isSingleColumnTerm()) { getColumnContextUri(translator.getHNodeIdForColumnName(objectTemplateTermSetPopulator.getTerms().getAllTerms().get(0).getTemplateTermValue())); } }
TemplateTermSet templateTermSet = pom.getObject().getTemplate(); if(templateTermSet != null)
TemplateTermSet objTermSet = pom.getObject().getTemplate(); TemplateTermSet rdfLiteralTypeTermSet = pom.getObject().getRdfLiteralType(); TemplateTermSet languageTermSet = pom.getObject().getLanguage();
private boolean doesPredicateAlreadyExist(TriplesMap triplesMap, PredicateObjectMap poMap, RefObjectMap refObjMap) { boolean alreadyExists = false; for(PredicateObjectMap pom : triplesMap.getPredicateObjectMaps()) { if(pom.getPredicate().getTemplate().isSingleUriString() && poMap.getPredicate().getTemplate().isSingleUriString()) { if(pom.getPredicate().getTemplate().toString().equalsIgnoreCase(poMap.getPredicate().getTemplate().toString())) { if(pom.getObject().hasRefObjectMap() && pom.getObject().getRefObjectMap().getParentTriplesMap().getId().equalsIgnoreCase(refObjMap.getParentTriplesMap().getId())) { alreadyExists = true; } else if(!pom.getObject().hasRefObjectMap() && !poMap.getObject().hasRefObjectMap() && pom.getObject().getTemplate().toString().compareTo(poMap.getObject().getTemplate().toString())== 0) { alreadyExists = true; } } } } return alreadyExists; }
if(pom.getObject().getTemplate().getAllColumnNameTermElements().isEmpty())