Predicate¶
-
class
lsst.daf.relation.Predicate¶ Bases:
abc.ABCAn abstract base class and factory for boolean column expressions.
Predicateinheritance is closed to the types already provided by this package, but considerable custom behavior can still be provided via thePredicateFunctionclass and anEnginethat knows how to interpret itsnamevalue. These concrete types can all be constructed via factory methods onPredicateitself,ColumnExpression, orColumnContainer, so the derived types themselves only need to be referenced when writingmatchexpressions that process an expression tree. See Extensibility for rationale and details.Attributes Summary
columns_requiredColumns 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 TrueorFalse.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
TrueorFalse.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
PredicateLiteralforTrueis 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
PredicateLiteralforFalseis 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 :
-