com.clarkparsia.pellet.sparqldl.engine
Class QueryEngine

java.lang.Object
  extended by com.clarkparsia.pellet.sparqldl.engine.QueryEngine

public class QueryEngine
extends java.lang.Object

Title: Query Engine for SPARQL-DL

Description:

Copyright: Copyright (c) 2007

Company: Clark & Parsia, LLC.

Author:
Petr Kremen

Field Summary
static java.util.logging.Logger log
           
static CoreStrategy STRATEGY
           
 
Constructor Summary
QueryEngine()
           
 
Method Summary
static boolean checkGround(QueryAtom atom, KnowledgeBase kb)
           
static QueryResult exec(Query query)
           
static QueryResult exec(Query query, KnowledgeBase kb)
           
static boolean execBooleanABoxQuery(Query query)
          Executes all boolean ABox atoms
static QueryParser getParser()
           
static QueryExec getQueryExec()
           
static CoreStrategy getStrategy(QueryAtom core)
           
static java.util.List<Query> split(Query query)
          If a query has disconnected components such as C(x), D(y) then it should be answered as two separate queries.
static boolean supports(Query query, KnowledgeBase kb)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

public static java.util.logging.Logger log

STRATEGY

public static CoreStrategy STRATEGY
Constructor Detail

QueryEngine

public QueryEngine()
Method Detail

getQueryExec

public static QueryExec getQueryExec()

getParser

public static QueryParser getParser()

supports

public static boolean supports(Query query,
                               KnowledgeBase kb)

exec

public static QueryResult exec(Query query,
                               KnowledgeBase kb)

exec

public static QueryResult exec(Query query)

split

public static java.util.List<Query> split(Query query)
If a query has disconnected components such as C(x), D(y) then it should be answered as two separate queries. The answers to each query should be combined at the end by taking Cartesian product.(we combine results on a tuple basis as results are iterated. This way we avoid generating the full Cartesian product. Splitting the query ensures the correctness of the answer, e.g. rolling-up technique becomes applicable.

Parameters:
query - Query to be split
Returns:
List of queries (contains the initial query if the initial query is connected)

getStrategy

public static CoreStrategy getStrategy(QueryAtom core)

execBooleanABoxQuery

public static boolean execBooleanABoxQuery(Query query)
Executes all boolean ABox atoms

Parameters:
query -
Returns:

checkGround

public static boolean checkGround(QueryAtom atom,
                                  KnowledgeBase kb)


Copyright © 2004 Evren Sirin. All Rights Reserved.