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, “TractSkyPixJoin” summarizes “PatchSkyPixJoin”, 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 TractSkyPixJoin AS SELECT DISTINCT skymap, tract, skypix FROM PatchSkyPixJoin;
-
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:
-