package org.aksw.sparqlify.core.algorithms; import java.util.ArrayList; import java.util.List; import org.aksw.jena_sparql_api.views.ExprCopy; import org.aksw.jena_sparql_api.views.SqlTranslationUtils; import org.apache.jena.sparql.expr.Expr; import org.apache.jena.sparql.expr.ExprFunction; /** * Expr transformer for rdfTerm expressions: * the value field of such expressions is passed through * * @author Claus Stadler <cstadler@informatik.uni-leipzig.de> * */ public class ExprTransformerPassValue implements ExprTransformer { public ExprTransformerPassValue() { } @Override public Expr transform(ExprFunction fn) { List<Expr> args = fn.getArgs(); List<Expr> newArgs = new ArrayList<Expr>(args.size()); for(Expr arg : args) { Expr newArg = SqlTranslationUtils.getLexicalValueOrExpr(arg); newArgs.add(newArg); } Expr result = ExprCopy.getInstance().copy(fn, newArgs); return result; } }