DimensionJoin¶
-
class
lsst.daf.butler.
DimensionJoin
(universe, name, config)¶ Bases:
lsst.daf.butler.DimensionElement
A join that relates two or more
Dimension
s.DimensionJoin
s usually map to many-to-many join tables or views that relateDimension
tables.DimensionJoin
objects are not directly constructable; they can only be obtained from aDimensionGraph
.Attributes Summary
asNeeded
Whether this join only be included in a query when required, as opposed to whenever its dependencies are included ( bool
).doc
Documentation for this dimension ( str
).hasRegion
Whether this dimension is associated with a region on the sky ( bool
).lhs
The Dimension
s on the left hand side of the join (DimensionSet
).name
Name of this dimension ( str
, read-only).rhs
The Dimension
s on the right hand side of the join (DimensionSet
).summarizes
A set of other DimensionJoin
s that provide more fine-grained relationships than this one (DimensionJoinSet
).universe
The graph of all dimensions compatible with self ( DimensionGraph
).Methods Summary
dependencies
([required, implied])Return the set of dimensions this dimension depends on. graph
([implied])Return the minimal DimensionGraph
that containsself
.links
([expand, implied])Return the names of fields that uniquely identify this dimension in a data ID dict. Attributes Documentation
-
asNeeded
¶ Whether this join only be included in a query when required, as opposed to whenever its dependencies are included (
bool
).
-
lhs
¶ The
Dimension
s on the left hand side of the join (DimensionSet
).Left vs. right is completely arbitrary; the terminology simply provides an easy way to distinguish between the two sides.
-
name
¶ Name of this dimension (
str
, read-only).Also assumed to be the name of any associated table or view.
-
rhs
¶ The
Dimension
s on the right hand side of the join (DimensionSet
).Left vs. right is completely arbitrary; the terminology simply provides an easy way to distinguish between the two sides.
-
summarizes
¶ A set of other
DimensionJoin
s that provide more fine-grained relationships than this one (DimensionJoinSet
).When a join “summarizes” another, it means the table for that join could (at least conceptually) be defined as an aggregate view on the summarized join table. For example, “tract_skypix_join” summarizes “patch_skypix_join”, because the set of skypix rows associated with a tract row is just the set of skypix rows associated with all patches associated with that tract. Or, in SQL:
CREATE VIEW tract_skypix_join AS SELECT DISTINCT skymap, tract, skypix FROM patch_skypix_join;
-
universe
¶ The graph of all dimensions compatible with self (
DimensionGraph
).
Methods Documentation
-
dependencies
(required=True, implied=False)¶ Return the set of dimensions this dimension depends on.
Parameters: Returns: - dependencies :
DimensionSet
- dependencies :
-
graph
(implied=False)¶ Return the minimal
DimensionGraph
that containsself
.Parameters: Returns: - graph :
DimensionGraph
- graph :
-
links
(expand=True, implied=False)¶ Return the names of fields that uniquely identify this dimension in a data ID dict.
Parameters: Returns:
-