public static void getNestedConcats(StringBuilder stb, ImmutableTerm term1, ImmutableTerm term2) { if (term1 instanceof ImmutableFunctionalTerm) { ImmutableFunctionalTerm f = (ImmutableFunctionalTerm) term1; getNestedConcats(stb, f.getTerms().get(0), f.getTerms().get(1)); } else { stb.append(appendTerms(term1)); } if (term2 instanceof ImmutableFunctionalTerm) { ImmutableFunctionalTerm f = (ImmutableFunctionalTerm) term2; getNestedConcats(stb, f.getTerms().get(0), f.getTerms().get(1)); } else { stb.append(appendTerms(term2)); } }
/** * Prints the text representation of different terms. */ private static String getDisplayName(ImmutableTerm term, PrefixManager prefixManager) { if (term instanceof ImmutableFunctionalTerm) return displayFunction((ImmutableFunctionalTerm) term, prefixManager); if (term instanceof Variable) return displayVariable((Variable)term); if (term instanceof IRIConstant) return displayURIConstant((Constant)term, prefixManager); if (term instanceof ValueConstant) return displayValueConstant((Constant)term); if (term instanceof BNode) return displayBnode((BNode)term); throw new UnexpectedTermException(term); }
private static String displayFunction(ImmutableFunctionalTerm function, PrefixManager prefixManager) { Predicate functionSymbol = function.getFunctionSymbol(); String fname = getAbbreviatedName(functionSymbol.toString(), prefixManager, false); if (functionSymbol instanceof DatatypePredicate) return displayDatatypeFunction(function, functionSymbol, fname, prefixManager); if (functionSymbol instanceof URITemplatePredicate) return displayURITemplate(function, prefixManager); if (functionSymbol == ExpressionOperation.CONCAT) return displayConcat(function); if (functionSymbol instanceof BNodePredicate) return displayFunctionalBnode(function); return displayOrdinaryFunction(function, fname, prefixManager); }
Function function = (Function) term; Predicate functionSymbol = function.getFunctionSymbol(); String fname = getAbbreviatedName(functionSymbol.toString(), prefixManager, false); if (function.isDataTypeFunction()) { sb.append(getDisplayName(var, prefixManager)); sb.append("@"); if (lang instanceof ValueConstant) { sb.append(getDisplayName(lang, prefixManager)); sb.append(getDisplayName(var, prefixManager)); sb.append("^^"); sb.append(fname); for (Term innerTerm : function.getTerms()) { if (innerTerm instanceof Variable) { varNames.add(getDisplayName(innerTerm, prefixManager)); sb.append("a"); } else { String shortenUri = getAbbreviatedName(originalUri, prefixManager, false); // shorten the URI if possible if (!shortenUri.equals(originalUri)) { sb.append(shortenUri); List<Term> terms = function.getTerms(); sb.append("\""); getNestedConcats(sb, terms.get(0),terms.get(1)); sb.append("\"");
private String printTargetQuery(ImmutableList<TargetAtom> query) { return TargetQueryRenderer.encode(query, ppMapping.getMetadata().getPrefixManager()); }
private static String displayConcat(ImmutableFunctionalTerm function) { StringBuilder sb = new StringBuilder(); ImmutableList<? extends ImmutableTerm> terms = function.getTerms(); sb.append("\""); getNestedConcats(sb, terms.get(0), terms.get(1)); sb.append("\""); return sb.toString(); }
/*** * Sets the current mapping to the input. Note, if the current mapping is * set, this means that this dialog is "updating" a mapping, and not * creating a new one. */ public void setMapping(SQLPPTriplesMap mapping) { this.mapping = mapping; cmdInsertMapping.setText("Update"); txtMappingID.setText(mapping.getId()); OBDASQLQuery sourceQuery = mapping.getSourceQuery(); String srcQuery = SourceQueryRenderer.encode(sourceQuery); txtSourceQuery.setText(srcQuery); ImmutableList<TargetAtom> targetQuery = mapping.getTargetAtoms(); String trgQuery = TargetQueryRenderer.encode(targetQuery, prefixManager); txtTargetQuery.setText(trgQuery); } }
TargetQueryRenderer.getNestedConcats(sb, terms.get(0),terms.get(1)); obm = mfact.createObjectMap(mfact.createTemplate(sb.toString())); obm.setTermType(R2RMLVocabulary.literal);
public static void getNestedConcats(StringBuilder stb, Term term1, Term term2){ if (term1 instanceof Function){ Function f = (Function) term1; getNestedConcats(stb, f.getTerms().get(0), f.getTerms().get(1)); }else{ stb.append(appendTerms(term1)); } if (term2 instanceof Function){ Function f = (Function) term2; getNestedConcats(stb, f.getTerms().get(0), f.getTerms().get(1)); }else{ stb.append(appendTerms(term2)); } }
private void prepareTextPanes(SQLPPTriplesMap value, boolean selected) { ImmutableList<TargetAtom> targetQuery = value.getTargetAtoms(); String trgQuery = TargetQueryRenderer.encode(targetQuery, prefixManager); trgQueryTextPane.setText(trgQuery);