de.fuberlin.wiwiss.wiqa.explanation
Class E_ExplainableFunction

java.lang.Object
  extended bycom.hp.hpl.jena.query.expr.ExprNode
      extended bycom.hp.hpl.jena.query.expr.ExprNodeFunction
          extended bycom.hp.hpl.jena.query.expr.E_Function
              extended byde.fuberlin.wiwiss.wiqa.explanation.E_ExplainableFunction
All Implemented Interfaces:
Constraint, Expr

public class E_ExplainableFunction
extends E_Function

A node in the parse tree for FILTER expressions that represents a function call and which the WIQA parser emits instead of ARQ's E_Function. After calling the function, this class will check if an ExplanationPart was placed into the ExecutionContext, and store it into the binding.

Note: This is a hack. It assumes that the binding is a BindingMap. ARQ doesn't guarantee this. We use the QueryIterExplainableFilter to convert other bindings into BindingMaps, but this relies on the fact that ARQ passes bindings through to the functions without change, something that is not guaranteed by the ARQ interfaces.

Version:
$Id: E_ExplainableFunction.java,v 1.1 2006/01/31 19:19:04 cyganiak Exp $
Author:
Richard Cyganiak (richard@cyganiak.de)

Constructor Summary
E_ExplainableFunction(String name, List args)
           
 
Method Summary
 NodeValue eval(Binding binding, ExecutionContext execCxt)
           
 
Methods inherited from class com.hp.hpl.jena.query.expr.E_Function
check, getArg, getPrintName, numArgs
 
Methods inherited from class com.hp.hpl.jena.query.expr.ExprNodeFunction
equals, hashCode, visit
 
Methods inherited from class com.hp.hpl.jena.query.expr.ExprNode
getConstant, getVar, getVarName, isConstant, isSatisfied, isVariable, toString, varsMentioned
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

E_ExplainableFunction

public E_ExplainableFunction(String name,
                             List args)
Method Detail

eval

public NodeValue eval(Binding binding,
                      ExecutionContext execCxt)