de.fuberlin.wiwiss.wiqa.engine
Class WIQAQueryEngine

java.lang.Object
  extended bycom.hp.hpl.jena.query.engine1.QueryEngine
      extended byde.fuberlin.wiwiss.wiqa.engine.WIQAQueryEngine
All Implemented Interfaces:
QueryExecution

public class WIQAQueryEngine
extends QueryEngine

A customized QueryEngine that adds those processing stages that cannot be expressed as an ARQ query. This is done by modifying the ARQ query engine's query plan. The following stages are added into the plan:

When the modified plan is executed, ARQ will automatically instantiate and execute the query iterators corresponding to these plan elements (for example, QueryIterExplain). These iterators implement the actual functionality of generating explanations, rejecting bindings that don't satisfy count constraints etc.

Version:
$Id: WIQAQueryEngine.java,v 1.5 2006/06/12 21:06:25 cyganiak Exp $
Author:
Richard Cyganiak (richard@cyganiak.de)

Field Summary
static Symbol CONTEXT_VARIABLES
          Internal key used in the ExecutionContext for ARQ
static Symbol EXPLANATION
          Internal key used in the ExecutionContext for ARQ
static Symbol EXPLANATION_STORE
          Internal key used in the ExecutionContext for ARQ
 
Constructor Summary
WIQAQueryEngine(Dataset dataset, Policy policy, QuerySolution binding, ExplanationCache cache)
           
 
Method Summary
protected  PlanElement makePlanForQueryPattern(Plan plan)
          Use CustomQueryCompiler instead of ARQ's QueryCompilerVisitor to generate the query plan
protected  PlanElement queryPlanHook(Plan plan, PlanElement planElt)
          Add count and explain stages to end of query plan
 
Methods inherited from class com.hp.hpl.jena.query.engine1.QueryEngine
abort, close, execAsk, execConstruct, execDescribe, execSelect, getContext, getDataset, getPlan, getQuery, init, setDataset, setFileManager, setInitialBinding
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXPLANATION_STORE

public static final Symbol EXPLANATION_STORE
Internal key used in the ExecutionContext for ARQ


EXPLANATION

public static final Symbol EXPLANATION
Internal key used in the ExecutionContext for ARQ


CONTEXT_VARIABLES

public static final Symbol CONTEXT_VARIABLES
Internal key used in the ExecutionContext for ARQ

Constructor Detail

WIQAQueryEngine

public WIQAQueryEngine(Dataset dataset,
                       Policy policy,
                       QuerySolution binding,
                       ExplanationCache cache)
Method Detail

makePlanForQueryPattern

protected PlanElement makePlanForQueryPattern(Plan plan)
Use CustomQueryCompiler instead of ARQ's QueryCompilerVisitor to generate the query plan


queryPlanHook

protected PlanElement queryPlanHook(Plan plan,
                                    PlanElement planElt)
Add count and explain stages to end of query plan