Uses of Class
edu.harvard.seas.pl.abcdatalog.ast.PositiveAtom
Package
Description
This packages contains classes representing the core abstract syntax tree for AbcDatalog.
This package contains classes to check that a clause or a set of clauses (such as those parsed
from user input) are valid (i.e., can be successfully evaluated).
This package contains classes that implement the visitor design pattern for visiting AST nodes.
This package contains the standard interface for a Datalog engine (see
DatalogExecutor
for an alternative interface).This package contains classes and interfaces that are used in all of the bottom-up engines.
This package contains multi-threaded bottom-up Datalog evaluation engines.
This package contains single-threaded bottom-up Datalog evaluation engines.
This package contains implementations of standard top-down Datalog evaluation algorithms.
This package contains classes that implement a Datalog executor, which is a Datalog engine that
runs asynchronously.
This package contains classes that implement a parser for Datalog source code.
This package contains data structures for storing and indexing Datalog facts.
This package contains classes that represents substitutions (i.e., mappings from variables to
terms).
-
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.ast
Modifier and TypeMethodDescriptionPositiveAtom.applySubst
(Substitution subst) Apply a substitution to the terms in this atom.NegatedAtom.asPositiveAtom()
static PositiveAtom
PositiveAtom.create
(PredicateSym pred, Term[] args) A static factory method for the creation of atoms.static PositiveAtom
HeadHelpers.forcePositiveAtom
(Head head) Modifier and TypeMethodDescriptionPositiveAtom.unify
(PositiveAtom fact) Attempts to unify this atom with a fact (i.e., a ground atom). -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.ast.validation
-
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.ast.visitors
Modifier and TypeMethodDescriptionCrashHeadVisitor.visit
(PositiveAtom atom, I state) CrashPremiseVisitor.visit
(PositiveAtom atom, I state) DefaultConjunctVisitor.visit
(PositiveAtom atom, I state) HeadVisitor.visit
(PositiveAtom atom, I state) PremiseVisitor.visit
(PositiveAtom atom, I state) Modifier and TypeMethodDescriptionHeadVisitorBuilder.onPositiveAtom
(BiFunction<PositiveAtom, I, O> onPositiveAtom) PremiseVisitorBuilder.onPositiveAtom
(BiFunction<PositiveAtom, I, O> onPositiveAtom) -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.engine
Modifier and TypeMethodDescriptionDatalogEngine.query
(PositiveAtom q) 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.Modifier and TypeMethodDescriptionDatalogEngineWithProvenance.getJustification
(PositiveAtom fact) Return the last rule used in the justification of the given atom.DatalogEngine.query
(PositiveAtom q) 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.Modifier and TypeMethodDescriptionstatic Set
<ConstOnlySubstitution> ConjunctiveQueryHelper.query
(DatalogEngine engine, List<PositiveAtom> query) default Set
<ConstOnlySubstitution> DatalogEngine.query
(List<PositiveAtom> query) Returns the set of all (minimal) substitutions that 1) ground the given conjunctive query, and 2) make it true with respect to the Datalog program backing this engine. -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.engine.bottomup
Modifier and TypeMethodDescriptionvoid
ClauseEvaluator.evaluate
(PositiveAtom newFact) BottomUpEngineFrameWithProvenance.getJustification
(PositiveAtom fact) EvalManagerWithProvenance.getJustification
(PositiveAtom fact) Return the last rule used in the justification of the given atom.BottomUpEngineFrame.query
(PositiveAtom q) ModifierConstructorDescriptionClauseEvaluator
(SemiNaiveClauseAnnotator.SemiNaiveClause cl, BiConsumer<PositiveAtom, ClauseSubstitution> newFact, BiFunction<AnnotatedAtom, ClauseSubstitution, Iterable<PositiveAtom>> getFacts) ClauseEvaluator
(SemiNaiveClauseAnnotator.SemiNaiveClause cl, BiConsumer<PositiveAtom, ClauseSubstitution> newFact, BiFunction<AnnotatedAtom, ClauseSubstitution, Iterable<PositiveAtom>> getFacts) -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.engine.bottomup.concurrent
Modifier and TypeFieldDescriptionprotected final Set
<PositiveAtom> BottomUpEvalManager.initialFacts
Modifier and TypeMethodDescriptionprotected Iterable
<PositiveAtom> BottomUpEvalManager.getFacts
(AnnotatedAtom atom, ClauseSubstitution s) Modifier and TypeMethodDescriptionvoid
ExtensibleBottomUpEvalManager.addFact
(PositiveAtom fact) Add a fact to this evaluation manager.protected void
BottomUpEvalManager.newFact
(PositiveAtom atom, ClauseSubstitution s) protected void
BottomUpEvalManager.processNewFact
(PositiveAtom newFact) protected void
ExtensibleBottomUpEvalManager.processNewFact
(PositiveAtom newFact) Modifier and TypeMethodDescriptionprotected void
BottomUpEvalManager.processInitialFacts
(Set<PositiveAtom> facts) -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.engine.bottomup.sequential
-
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.engine.topdown
Modifier and TypeMethodDescriptionprotected Set
<PositiveAtom> AbstractQsqEngine.checkIfEdbQuery
(PositiveAtom q) If query is for an EDB relation, returns facts that unify with that query.abstract Set
<PositiveAtom> AbstractQsqEngine.query
(PositiveAtom q) IterativeQsqEngine.query
(PositiveAtom q) MstEngine.query
(PositiveAtom q) RecursiveQsqEngine.query
(PositiveAtom q) Modifier and TypeMethodDescriptionprotected Set
<PositiveAtom> AbstractQsqEngine.checkIfEdbQuery
(PositiveAtom q) If query is for an EDB relation, returns facts that unify with that query.abstract Set
<PositiveAtom> AbstractQsqEngine.query
(PositiveAtom q) IterativeQsqEngine.query
(PositiveAtom q) MstEngine.query
(PositiveAtom q) RecursiveQsqEngine.query
(PositiveAtom q) -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.executor
Modifier and TypeMethodDescriptionvoid
DatalogExecutor.addFactAsynchronously
(PositiveAtom edbFact) Asynchronously adds a new EDB fact to the Datalog evaluation.void
DatalogParallelExecutor.addFactAsynchronously
(PositiveAtom edbFact) void
DatalogListener.newFactDerived
(PositiveAtom fact) Is invoked when a relevant new fact is derived during Datalog evaluation. -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.parser
Modifier and TypeMethodDescriptionstatic PositiveAtom
DatalogParser.parseClauseAsPositiveAtom
(DatalogTokenizer t) Extracts an atom from the token stream.static PositiveAtom
DatalogParser.parsePositiveAtom
(DatalogTokenizer t) Attempts to extract an atom from the provided token stream.static PositiveAtom
DatalogParser.parseQuery
(DatalogTokenizer t) Attempts to extract an atom representation of the query described in the token stream. -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.util.datastructures
Modifier and TypeClassDescriptionclass
ConcurrentFactIndexer<T extends Iterable<PositiveAtom>>
An index that holds facts.Modifier and TypeMethodDescriptionstatic ConcurrentFactIndexer
<Queue<PositiveAtom>> FactIndexerFactory.createConcurrentQueueFactIndexer()
Creates a fact indexer that uses concurrent queues for the base container.static ConcurrentFactIndexer
<Set<PositiveAtom>> FactIndexerFactory.createConcurrentSetFactIndexer()
Creates a fact indexer that uses concurrent sets for the base container.IndexableFactCollection.indexInto
(PositiveAtom atom) Returns the atoms in the collection that potentially "match" the provided atom.IndexableFactCollection.indexInto
(PositiveAtom atom, ConstOnlySubstitution subst) Returns the atoms in the collection that potentially "match" the provided atom, after the given substitution has been applied.IndexableFactCollection.indexInto
(PredicateSym pred) Returns the atoms in the collection with the given predicate symbol.Modifier and TypeMethodDescriptionvoid
ConcurrentFactIndexer.add
(PositiveAtom fact) Adds a fact to this indexer.boolean
ConcurrentFactTrie.add
(PositiveAtom fact) Adds a fact to this trie and returns whether the trie has changed.boolean
ConcurrentFactTrie.add
(PositiveAtom a, ConstOnlySubstitution s) Adds an atom a to this trie.void
FactIndexer.add
(PositiveAtom fact) Adds a fact to the FactIndexer.ConcurrentFactIndexer.indexInto
(PositiveAtom a) ConcurrentFactIndexer.indexInto
(PositiveAtom a, ConstOnlySubstitution s) IndexableFactCollection.indexInto
(PositiveAtom atom) Returns the atoms in the collection that potentially "match" the provided atom.IndexableFactCollection.indexInto
(PositiveAtom atom, ConstOnlySubstitution subst) Returns the atoms in the collection that potentially "match" the provided atom, after the given substitution has been applied.Modifier and TypeMethodDescriptionvoid
ConcurrentFactIndexer.addAll
(Iterable<PositiveAtom> facts) Adds the facts to the index.void
FactIndexer.addAll
(Iterable<PositiveAtom> facts) Adds some number of facts to the FactIndexer.ModifierConstructorDescriptionConcurrentFactIndexer
(Supplier<T> generator, BiConsumer<T, PositiveAtom> addFunc, Function<T, Integer> size) Creates a new fact indexer.ConcurrentFactIndexer
(Supplier<T> generator, BiConsumer<T, PositiveAtom> addFunc, Supplier<T> empty, Function<T, Integer> size) Creates a new fact indexer. -
Uses of PositiveAtom in edu.harvard.seas.pl.abcdatalog.util.substitution
Modifier and TypeMethodDescriptionstatic List
<PositiveAtom> SubstitutionUtils.applyToPositiveAtoms
(Substitution subst, Iterable<PositiveAtom> atoms) Apply a substitution to the given positive atoms, returning a list of the resulting atoms (in order).Modifier and TypeMethodDescriptionstatic List
<PositiveAtom> SubstitutionUtils.applyToPositiveAtoms
(Substitution subst, Iterable<PositiveAtom> atoms) Apply a substitution to the given positive atoms, returning a list of the resulting atoms (in order).static void
SubstitutionUtils.applyToPositiveAtoms
(Substitution subst, Iterable<PositiveAtom> atoms, Collection<PositiveAtom> acc) Apply a substitution to the given positive atoms, adding the resulting atoms to the provided collection (in order).static void
SubstitutionUtils.applyToPositiveAtoms
(Substitution subst, Iterable<PositiveAtom> atoms, Collection<PositiveAtom> acc) Apply a substitution to the given positive atoms, adding the resulting atoms to the provided collection (in order).