congress.datalog.factset.
FactSet
¶Bases: object
Maintains a set of facts, and provides indexing for efficient iteration, given a partial or full match. Expects that all facts are the same width.
add
(fact)¶Add a fact to the FactSet
Returns True if the fact is absent from this FactSet and adds the fact, otherwise returns False.
create_index
(columns)¶Create an index
@columns is a tuple of column indicies that index into the facts in self. @columns must be sorted in ascending order, and each column index must be less than the width of a fact in self. If the index exists, do nothing.
find
(partial_fact, iterations=None)¶Find Facts given a partial fact
@partial_fact is a tuple of pair tuples. The first item in each pair tuple is an index into a fact, and the second item is a value to match again self._facts. Expects the pairs to be sorted by index in ascending order.
@iterations is either an empty list or None. If @iterations is an empty list, then find() will append the number of iterations find() used to compute the return value(this is useful for testing indexing).
Returns matching Facts.
has_index
(columns)¶Returns True if the index exists.
remove
(fact)¶Remove a fact from the FactSet
Returns True if the fact is in this FactSet and removes the fact, otherwise returns False.
remove_index
(columns)¶Remove an index
@columns is a tuple of column indicies that index into the facts in self. @columns must be sorted in ascending order, and each column index must be less than the width of a fact in self. If the index does not exists, raise KeyError.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.