package org.aksw.sparqlify.core.sql.expr.evaluation; import org.aksw.sparqlify.algebra.sql.exprs2.SqlExpr; /** * Process for finding the appropriate op: * * Given a set of expressions whose datatype is known, do the following: * . a) check if for the opName there exists a method that accepts the given arguments. * . b) if so, check if it has an evaluator attached (this is this object) * . c) check whether the given arguments datatypes are valid according to a datatype system * . d) if all arguments are constants, we can also use Jena to evaluate the expression * * * ISSUE: step A requires the OpName to be defined with a signature * However, only in step c this is enforced. * * So here is the master plan: The point of the "transformation" is to get * rid of all the RDF-term expressions, and instead reduce them to * operations on conventional datatypes. * * As such, there are no RDF terms on the SqlExpr level. * * * * * * * @author Claus Stadler <cstadler@informatik.uni-leipzig.de> * */ public class SqlExprEvaluator_Arithmetic extends SqlExprEvaluator2 { @Override public SqlExpr eval(SqlExpr a, SqlExpr b) { // if(a.isConstant()) { // NodeValue x = a.asConstant().getValue(); // // if(b.isConstant()) { // NodeValue y = b.asConstant().getValue(); // // XSDFuncOp.add(x, y); // } // // // } return null; } }