package org.aksw.sparqlify.core.jena.functions; import org.apache.jena.datatypes.RDFDatatype; import org.apache.jena.datatypes.TypeMapper; import org.apache.jena.graph.Node; import org.apache.jena.graph.NodeFactory; import org.apache.jena.sparql.expr.NodeValue; import org.apache.jena.sparql.function.FunctionBase2; public class TypedLiteral extends FunctionBase2 { @Override public NodeValue exec(NodeValue value, NodeValue datatype) { String v = value.asUnquotedString(); String d = datatype.asUnquotedString(); RDFDatatype dt = TypeMapper.getInstance().getSafeTypeByName(d); Node node = NodeFactory.createLiteral(v, dt); NodeValue result = NodeValue.makeNode(node); return result; } }