DimensionJoin¶
-
class
lsst.daf.butler.DimensionJoin(universe, name, config)¶ Bases:
lsst.daf.butler.DimensionElementA join that relates two or more
Dimensions.DimensionJoins usually map to many-to-many join tables or views that relateDimensiontables.DimensionJoinobjects are not directly constructable; they can only be obtained from aDimensionGraph.Attributes Summary
asNeededWhether this join only be included in a query when required, as opposed to whenever its dependencies are included ( bool).docDocumentation for this dimension ( str).hasRegionWhether this dimension is associated with a region on the sky ( bool).lhsThe Dimensions on the left hand side of the join (DimensionSet).nameName of this dimension ( str, read-only).rhsThe Dimensions on the right hand side of the join (DimensionSet).summarizesA set of other DimensionJoins that provide more fine-grained relationships than this one (DimensionJoinSet).universeThe 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 DimensionGraphthat 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
Dimensions 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
Dimensions 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
DimensionJoins 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
DimensionGraphthat 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:
-