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
Modifier and TypeFieldDescriptionprotected final ExecutorServiceCounter
protected final FactIndexer
protected final Set
<PositiveAtom> protected final Map
<PredicateSym, Set<ClauseEvaluator>> protected final ConcurrentFactTrie
-
Constructor Summary
-
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) void
initialize
(Set<Clause> program) Initialize this manager with a program.protected void
newFact
(PositiveAtom atom, ClauseSubstitution s) protected void
processInitialFacts
(Set<PositiveAtom> facts) protected void
processNewFact
(PositiveAtom newFact)
-
Field Details
-
predToEvalMap
-
exec
-
facts
-
initialFacts
-
trie
-
-
Constructor Details
-
BottomUpEvalManager
public BottomUpEvalManager()
-
-
Method Details
-
initialize
Description copied from interface:EvalManager
Initialize this manager with a program.- Specified by:
initialize
in interfaceEvalManager
- Parameters:
program
- the program- Throws:
DatalogValidationException
- if the program is invalid
-
eval
Description copied from interface:EvalManager
Saturate all facts derivable from the program with which this manager has been initialized.- Specified by:
eval
in interfaceEvalManager
- Returns:
- the facts
-
processInitialFacts
-
processNewFact
-
getFacts
-
newFact
-