package org.aksw.sparqlify.core.jena.functions; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import org.apache.jena.sparql.expr.NodeValue; import org.apache.jena.sparql.function.FunctionBase1; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class UrlEncode extends FunctionBase1 { private static final Logger logger = LoggerFactory.getLogger(UrlEncode.class); @Override public NodeValue exec(NodeValue v) { try { String str = v.getString(); String encoded = URLEncoder.encode(str, "UTF8"); String tmp = encoded.replace("+", "%20"); NodeValue result = NodeValue .makeString(tmp); return result; } catch (UnsupportedEncodingException e) { logger.warn("Unexpected exception", e); return null; } } }