Predicate¶
-
class
lsst.daf.relation.
Predicate
¶ Bases:
abc.ABC
An abstract base class and factory for boolean column expressions.
Predicate
inheritance is closed to the types already provided by this package, but considerable custom behavior can still be provided via thePredicateFunction
class and anEngine
that knows how to interpret itsname
value. These concrete types can all be constructed via factory methods onPredicate
itself,ColumnExpression
, orColumnContainer
, so the derived types themselves only need to be referenced when writingmatch
expressions that process an expression tree. See Extensibility for rationale and details.Attributes Summary
columns_required
Columns required by this expression ( Set
[ColumnTag
]).Methods Summary
as_trivial
()Attempt to simplify this expression into a constant boolean. is_supported_by
(engine)Test whether the given engine is capable of evaluating this expression. literal
(value)Construct a boolean expression that is a constant True
orFalse
.logical_and
()Return a boolean expression that is the logical AND of the given ones. logical_not
()Return a boolean expression that is the logical NOT of this one. logical_or
()Return a boolean expression that is the logical OR of the given ones. reference
(tag)Construct an expression that refers to a boolean column in a relation. Attributes Documentation
-
columns_required
¶ Columns required by this expression (
Set
[ColumnTag
]).This includes columns required by expressions nested within this one.
Methods Documentation
-
as_trivial
() → bool | None[bool, None]¶ Attempt to simplify this expression into a constant boolean.
Returns:
-
is_supported_by
(engine: Engine) → bool¶ Test whether the given engine is capable of evaluating this expression.
Parameters: - engine :
Engine
Engine to test.
Returns: - supported :
bool
Whether the engine supports this expression and all expressions nested within it.
- engine :
-
classmethod
literal
(value: bool) → lsst.daf.relation._columns._predicate.PredicateLiteral¶ Construct a boolean expression that is a constant
True
orFalse
.Parameters: - value :
bool
Value for the expression.
Returns: - literal :
PredicateLiteral
A boolean column expression set to the given value.
- value :
-
logical_and
() → lsst.daf.relation._columns._predicate.Predicate¶ Return a boolean expression that is the logical AND of the given ones.
Parameters: - *operands :
Predicate
Existing boolean expressions to AND together.
Returns: - logical_and :
Predicate
Logical AND expression. If no operands are provided, a
PredicateLiteral
forTrue
is returned. If one operand is provided, it is returned directly.
- *operands :
-
logical_not
() → lsst.daf.relation._columns._predicate.LogicalNot¶ Return a boolean expression that is the logical NOT of this one.
Returns: - logical_not :
Predicate
Logical NOT expression.
- logical_not :
-
logical_or
() → lsst.daf.relation._columns._predicate.Predicate¶ Return a boolean expression that is the logical OR of the given ones.
Parameters: - *operands :
Predicate
Existing boolean expressions to OR together.
Returns: - logical_and :
Predicate
Logical OR expression. If no operands are provided, a
PredicateLiteral
forFalse
is returned. If one operand is provided, it is returned directly.
- *operands :
-
classmethod
reference
(tag: lsst.daf.relation._columns._tag.ColumnTag) → lsst.daf.relation._columns._predicate.PredicateReference¶ Construct an expression that refers to a boolean column in a relation.
Parameters: - tag :
ColumnTag
Identifier for the column to reference.
Returns: - reference :
PredicateReference
A column expression that refers the given relation column.
- tag :
-