public static Literal getLiteral(ValueConstant literal) { Objects.requireNonNull(literal); switch (literal.getType()) { case OBJECT: case LITERAL: case STRING: // creates xsd:string return fact.createLiteral(literal.getValue()); case LANG_STRING: // creates xsd:langString return fact.createLiteral(literal.getValue(), literal.getLanguage()); default: IRI datatype = TYPE_FACTORY.getDatatypeURI(literal.getType()); if (datatype == null) throw new RuntimeException( "Found unknown TYPE for constant: " + literal + " with COL_TYPE=" + literal.getType()); return fact.createLiteral(literal.getValue(), datatype); } }
return TERM_FACTORY.getUriTemplateForDatatype(TYPE_FACTORY.getDatatypeURI(COL_TYPE.BOOLEAN).stringValue()); return TERM_FACTORY.getUriTemplateForDatatype(TYPE_FACTORY.getDatatypeURI(COL_TYPE.BOOLEAN).stringValue());
private Term evalStr(Function term) { Term innerTerm = term.getTerm(0); if (innerTerm instanceof Function) { Function function = (Function) innerTerm; Predicate predicate = function.getFunctionSymbol(); Term parameter = function.getTerm(0); if (function.isDataTypeFunction()) { if (TYPE_FACTORY.isString(predicate) ) { // R: was datatype.equals(OBDAVocabulary.RDFS_LITERAL_URI) return TERM_FACTORY.getTypedTerm( TERM_FACTORY.getVariable(parameter.toString()), COL_TYPE.STRING); } else { return TERM_FACTORY.getTypedTerm( TERM_FACTORY.getFunctionCast(TERM_FACTORY.getVariable(parameter.toString()), TERM_FACTORY.getConstantLiteral(TYPE_FACTORY.getDatatypeURI(COL_TYPE.STRING).stringValue())), COL_TYPE.STRING); } } else if (predicate instanceof URITemplatePredicate) { return TERM_FACTORY.getTypedTerm(function.clone(), COL_TYPE.STRING); } else if (predicate instanceof BNodePredicate) { return TermConstants.NULL; } } return term; }