protected void generatePredicatesForPom(PredicateObjectMap pom) throws HNodeNotFoundKarmaException { this.pom = pom; List<ColumnTemplateTerm> subjectAndObjectTemplateTerms = new LinkedList<>(); subjectAndObjectTemplateTerms.addAll(this.combinedSubjectObjectTermsToPaths.keySet()); LinkedList<ColumnTemplateTerm> predicateColumnTemplateTerms = new LinkedList<>(); predicateColumnTemplateTerms.addAll(pom.getPredicate().getTemplate().getAllColumnNameTermElements()); predicateTemplateTermSetPopulator = new TemplateTermSetPopulator(pom.getPredicate().getTemplate(), new StringBuilder(), uriFormatter, true, true); Map<ColumnTemplateTerm, HNodePath> combinedSubjectObjectPredicateTermsToPaths = new HashMap<>(); combinedSubjectObjectPredicateTermsToPaths.putAll(combinedSubjectObjectTermsToPaths); Map<ColumnTemplateTerm, HNodePath> predicateTermsToPaths = new HashMap<>(); populateTermsToPathForSubject(predicateTermsToPaths, pom.getPredicate().getTemplate()); combinedSubjectObjectTermsToPaths.putAll(predicateTermsToPaths); predicatePlan = new DoublyAnchoredTemplateTermSetPopulator(combinedSubjectObjectTermsToPaths, predicateColumnTemplateTerms, subjectAndObjectTemplateTerms, selection); }
String previous = var1; while(parentTriple!=null) { String predicate = parentTriple.predicate.getTemplate().toString();
if(p_map.getPredicate().getTemplate().toString().equalsIgnoreCase("<http://www.opengis.net/gml/hasValue>")) { queue.add(p_map.getPredicate()); predicateList.put(p_map.getPredicate(), var); String predicate = parentTriple.predicate.getTemplate().toString(); Predicate predicate = (Predicate)currentObj; query.append(" ?" + predicateList.get(predicate) + " " + predicate.getTemplate() + " ?z"+ var_count + " . "); select_params.append(" ?z" + var_count); var_count++;
String k = predicate.getTemplate().toString(); k = k.replace('<', ' ').replace('>', ' ').trim(); if(columns != null && !columns.isEmpty()) { .append(predicate.getTemplate()) .append(" ?") .append(cName + " . "); .append(predicate.getTemplate()) .append(" ?").append(k.substring(index, k.length())) .append(" .");
private boolean addPredicate(PredicateObjectMap pom, KR2RMLColumnNameFormatter columnNameFormatter, RepFactory factory, URI pomUri) throws RepositoryException { // Add the predicate TemplateTermSet predTermSet = pom.getPredicate().getTemplate(); if (predTermSet.isSingleUriString()) { URI predValUri = f.createURI(predTermSet .getR2rmlTemplateString(factory, columnNameFormatter)); // Skip the class instance special meta property if (predValUri.stringValue().equals(Uris.CLASS_INSTANCE_LINK_URI)) return false; con.add(pomUri, repoURIs.get(Uris.RR_PREDICATE_URI), predValUri); } else { Value predValLiteratl = f.createLiteral(predTermSet. getR2rmlTemplateString(factory, columnNameFormatter)); con.add(pomUri, repoURIs.get(Uris.RR_PREDICATE_URI), predValLiteratl); } return true; }
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; }
Schema targetSchema = null; String predicateShortHand = null; if(pom.getPredicate().getTemplate().getAllColumnNameTermElements().isEmpty()) String predicate = pom.getPredicate().getTemplate().getR2rmlTemplateString(rep); predicateShortHand = shortHandURIGenerator.getShortHand(predicate).toString().replaceAll("[^\\w]", "_");
pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(synType.getType().getUri(), true)); poMap.setPredicate(pred);
pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(inversePropLabel.getUri(), true)); invPoMap.setPredicate(pred); pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(inverseOfPropLabel.getUri(), true)); invOfPoMap.setPredicate(pred);
ColumnTemplateTerm cnTerm = new ColumnTemplateTerm(columnName); pred.getTemplate().addTemplateTermToSet(cnTerm); pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(olink.getLabel().getUri(), true)); pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(olink.getLabel().getUri(), true)); ColumnTemplateTerm cnsplTerm = new ColumnTemplateTerm(targetColumnName); pred.getTemplate().addTemplateTermToSet(cnsplTerm); pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(olink.getLabel().getUri(), true));
pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(((Resource) pomPredNode).getURI(), true)); } else { pred.getTemplate().addTemplateTermToSet( new StringTemplateTerm(Uris.CLASS_INSTANCE_LINK_URI, true)); pom.setPredicate(pred);