Class MstEngine
java.lang.Object
edu.harvard.seas.pl.abcdatalog.engine.topdown.MstEngine
- All Implemented Interfaces:
DatalogEngine
A Datalog evaluation engine that uses the magic set transformation technique. Given a query, this
engine rewrites the program in such a way that it can evaluate the query efficiently using a
bottom-up engine.
NOTE: predicate symbols that use '%' might not work with this engine.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Initializes engine with a Datalog program, including EDB facts.Returns all facts that 1) can be derived from the rules and initial facts that were used to initialize this engine and 2) unify with the query.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.harvard.seas.pl.abcdatalog.engine.DatalogEngine
query
-
Constructor Details
-
MstEngine
public MstEngine()
-
-
Method Details
-
init
Description copied from interface:DatalogEngine
Initializes engine with a Datalog program, including EDB facts. The set that is passed into this method should include rules for deriving new facts as well as the initial facts, which can be encoded as clauses with empty bodies.- Specified by:
init
in interfaceDatalogEngine
- Parameters:
program
- program to evaluate- Throws:
DatalogValidationException
DatalogValidationException
- if the given program is invalid
-
query
Description copied from interface:DatalogEngine
Returns all facts that 1) can be derived from the rules and initial facts that were used to initialize this engine and 2) unify with the query.- Specified by:
query
in interfaceDatalogEngine
- Parameters:
q
- the query- Returns:
- facts
-