Class BottomUpEvalManager
java.lang.Object
edu.harvard.seas.pl.abcdatalog.engine.bottomup.concurrent.BottomUpEvalManager
- All Implemented Interfaces:
EvalManager
- Direct Known Subclasses:
ExtensibleBottomUpEvalManager
An evaluation manager that implements a saturation algorithm similar to semi-naive evaluation. It
supports explicit unification.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ExecutorServiceCounterprotected final FactIndexerprotected final Set<PositiveAtom> protected final Map<PredicateSym, Set<ClauseEvaluator>> protected final ConcurrentFactTrie -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioneval()Saturate all facts derivable from the program with which this manager has been initialized.protected Iterable<PositiveAtom> getFacts(AnnotatedAtom atom, ClauseSubstitution s) voidinitialize(Set<Clause> program) Initialize this manager with a program.protected voidnewFact(PositiveAtom atom, ClauseSubstitution s) protected voidprocessInitialFacts(Set<PositiveAtom> facts) protected voidprocessNewFact(PositiveAtom newFact)
-
Field Details
-
predToEvalMap
-
exec
-
facts
-
initialFacts
-
trie
-
-
Constructor Details
-
BottomUpEvalManager
public BottomUpEvalManager()
-
-
Method Details
-
initialize
Description copied from interface:EvalManagerInitialize this manager with a program.- Specified by:
initializein interfaceEvalManager- Parameters:
program- the program- Throws:
DatalogValidationException- if the program is invalid
-
eval
Description copied from interface:EvalManagerSaturate all facts derivable from the program with which this manager has been initialized.- Specified by:
evalin interfaceEvalManager- Returns:
- the facts
-
processInitialFacts
-
processNewFact
-
getFacts
-
newFact
-