An atom is a predicate name applied to a tuple of Terms, e.g. edge(a, b) or ancestor(X, Y) – never a nested/compound structure, since Term itself cannot nest (see datalog_term.hpp).
More...
#include <datalog_atom.hpp>
An atom is a predicate name applied to a tuple of Terms, e.g. edge(a, b) or ancestor(X, Y) – never a nested/compound structure, since Term itself cannot nest (see datalog_term.hpp).
- Note
- An atom is "ground" (a fact, suitable for a FactDatabase) iff every one of its terms is a constant. An atom with any variable term is only valid inside a rule's head or body, never inside a FactDatabase.
◆ Atom()
| pulsatrix::datalog::Atom::Atom |
( |
std::string |
predicate_name, |
|
|
std::vector< Term > |
terms |
|
) |
| |
|
inline |
◆ arity()
| std::size_t pulsatrix::datalog::Atom::arity |
( |
| ) |
const |
|
inline |
◆ is_ground()
| bool pulsatrix::datalog::Atom::is_ground |
( |
| ) |
const |
|
inline |
True iff every term in this atom is a constant (no variables).
◆ operator!=()
| bool pulsatrix::datalog::Atom::operator!= |
( |
const Atom & |
other | ) |
const |
|
inline |
◆ operator==()
| bool pulsatrix::datalog::Atom::operator== |
( |
const Atom & |
other | ) |
const |
|
inline |
◆ predicate_name()
| const std::string & pulsatrix::datalog::Atom::predicate_name |
( |
| ) |
const |
|
inline |
◆ terms()
| const std::vector< Term > & pulsatrix::datalog::Atom::terms |
( |
| ) |
const |
|
inline |
The documentation for this class was generated from the following file: