All Classes and Interfaces
Class
Description
A Datalog engine that uses a variant of the query-subquery evaluation method.
An adorned atom (i.e., an atom where every argument is marked as either bound or free).
An adorned clause (i.e., a Horn clause where every atom is itself adorned).
An adorned predicate symbol.
An annotated atom.
This premise explicitly disallows the unification of two terms and is represented by the operator
!=
.This premise explicitly unifies two terms and is visually represented as the operator
=
.A framework for a bottom-up Datalog engine.
An evaluation manager that implements a saturation algorithm similar to semi-naive evaluation.
A clause consisting of a head and a body, the latter of which is a list of premises.
This class provides a way to derive all the new facts that are derivable from a given rule, given
an initial fact that unifies with the first atom in the body of the clause.
This is a substitution tailor-made for a particular clause.
A concurrent bottom-up Datalog engine that employs a saturation algorithm similar to semi-naive
evaluation.
A concurrent bottom-up Datalog engine that employs a saturation algorithm similar to semi-naive
evaluation.
An index that holds facts.
A trie that holds a set of facts (i.e., ground atoms).
A linked-list-backed bag that supports a minimal number of operations.
This class implements an experimental multi-threaded Datalog evaluation algorithm that supports
explicit unification and stratified negation.
A helper that adds (naive) conjunctive query support to an arbitrary DatalogEngine by turning a
conjunctive query into multiple singleton queries.
A zero-ary function symbol (i.e., a constant in Datalog).
A mapping from variables to constants.
A Datalog evaluation engine.
A Datalog evaluation engine that retains fact provenance.
A interface to an ongoing Datalog evaluation that allows for callbacks to be registered that are
invoked when relevant new facts are derived and for new EDB facts to be added in the midst of
evaluation.
A GUI with a Datalog editor and interpreter.
A callback that is registered with a Datalog executor and is invoked during evaluation.
A Datalog executor that runs the actual Datalog evaluation concurrently in separate threads.
An exception signifying a parsing error.
A recursive descent parser for Datalog.
A tokenizer for Datalog.
A validator for a set of clauses.
The saturating evaluation manager for a bottom-up Datalog evaluation engine.
A basic demonstration of how to use a Datalog executor.
A wrapper for an executor service that tracks how many tasks are either pending or incomplete,
and can be used to block until all tasks have finished.
An evaluation manager for a concurrent semi-naive engine that runs asynchronously in the
background.
A factory for creating some useful fact indexers.
The head of a clause.
A utility class for accessing the head of a clause.
A fixed collection of facts that only allows a basic query operation: return the atoms in the
collection that might match a given atom.
A Datalog evaluation engine that uses an iterative version of the query-subquery top-down
technique.
A Datalog evaluation engine that uses the magic set transformation technique.
A negated atom.
A non-negated atom; i.e., a predicate symbol, and a sequence of terms.
A basic predicate symbol in Datalog.
A premise in the body of a clause.
A supplementary relation used in QSQ evaluation.
A template containing the attribute schemata of the supplementary relations for a given rule in
QSQ evaluation.
A Datalog evaluation engine that uses a recursive version of the query-subquery top-down
technique.
A relation, i.e., a set of tuples of a fixed arity with an associated attribute schema of the
same arity.
A class for annotating a clause with annotations helpful for semi-naive evaluation.
A Datalog engine that implements the classic semi-naive bottom-up evaluation algorithm.
A mapping from variables to constants.
A class for validating that an unstratified program can be successfully stratified for negation.
A Datalog program that has been stratified; for instance, to support stratified negation.
A mapping from variables to terms.
A Datalog term (i.e., a constant or variable).
A utility class for common operations on terms.
A list of terms of fixed arity representing the attribute schema for a relation of the same arity
(i.e., the 2nd term in the list is the attribute for the 2nd "column" in the relation).
A substitution that allows a variable to be mapped to (i.e., unified with) multiple terms, as
long as no two of those terms are constants.
A tuple of terms, i.e., an ordered list of fixed arity.
A mapping from variables to terms.
A Datalog program for which each rule and initial fact has been independently validated, but the
program as a whole has not been validated.
"Static" class containing utility methods.
A Datalog variable.