Dimension¶
- 
class lsst.daf.butler.Dimension¶
- Bases: - lsst.daf.butler.DimensionElement- A dimension. - A named data-organization concept that can be used as a key in a data ID. - Attributes Summary - RecordClass- Return the record subclass for this element. - alternateKeys- Return alternate keys. - alwaysJoin- Indicate if the element should always be included. - dimensions- Return all dimensions. - governor- Return the governor dimension. - graph- Return minimal graph that includes this element ( - DimensionGraph).- implied- Return the implied dimensions. - metadata- Additional metadata fields included in this element’s table. - name- Return unique string identifier for this endpoint ( - str).- primaryKey- Return primary key field for this dimension ( - FieldSpec).- required- Return the required dimensions. - spatial- Return this endpoint’s - SPATIALfamily.- temporal- Return this endpoint’s - TEMPORALfamily.- topology- Return the relationship families to which this endpoint belongs. - uniqueKeys- Return the unique fields. - viewOf- Name of another table this element’s records are drawn from. - Methods Summary - from_json(json_str, universe, registry)- Return new class from JSON string. - from_simple(simple, universe, registry)- Construct a new object from the simplified form. - hasTable()- Indicate if this element is associated with a table. - to_json(minimal)- Convert this class to JSON form. - to_simple(minimal)- Convert this class to a simple python type. - Attributes Documentation - 
RecordClass¶
- Return the record subclass for this element. - The - DimensionRecordsubclass used to hold records for this element (- type).- Because - DimensionRecordsubclasses are generated dynamically, this type cannot be imported directly and hence can only be obtained from this attribute.
 - 
alternateKeys¶
- Return alternate keys. - Additional unique key fields for this dimension that are not the primary key ( - NamedValueAbstractSetof- FieldSpec).- If this dimension has required dependencies, the keys of those dimensions are also included in the unique constraints defined for these alternate keys. 
 - 
alwaysJoin¶
- Indicate if the element should always be included. - If - True, always include this element in any query or data ID in which its- requireddimensions appear, because it defines a relationship between those dimensions that must always be satisfied.
 - 
dimensions¶
- Return all dimensions. - The union of - requiredand- implied, with all elements in- requiredbefore any elements in- implied.- This differs from - self.graph.dimensionsboth in order and in content:- as in self.implied, implied dimensions are not expanded recursively here;
- implied dimensions appear after required dimensions here, instead of being topologically ordered.
 - As a result, this set is ordered consistently with - self.RecordClass.fields.
- as in 
 - 
governor¶
- Return the governor dimension. - This is the - GovernorDimensionthat is a required dependency of this element, or- Noneif there is no such dimension (- GovernorDimensionor- None).
 - 
graph¶
- Return minimal graph that includes this element ( - DimensionGraph).- self.graph.requiredincludes all dimensions whose primary key values are sufficient (often necessary) to uniquely identify- self(including- selfif- isinstance(self, Dimension).- self.graph.impliedincludes all dimensions also identified (possibly recursively) by this set.
 - 
implied¶
- Return the implied dimensions. - Other dimensions that are uniquely identified directly by a record of this dimension element. - For elements with a database representation, these are exactly the dimensions used to form foreign key constraints whose fields are not (wholly) also part of the primary key. - Unlike - self.graph.implied, this set is not expanded recursively.
 - 
metadata¶
- Additional metadata fields included in this element’s table. - ( - NamedValueSetof- FieldSpec).
 - 
primaryKey¶
- Return primary key field for this dimension ( - FieldSpec).- Note that the database primary keys for dimension tables are in general compound; this field is the only field in the database primary key that is not also a foreign key (to a required dependency dimension table). 
 - 
required¶
- Return the required dimensions. - Dimensions that are necessary to uniquely identify a record of this dimension element. - For elements with a database representation, these dimension are exactly those used to form the (possibly compound) primary key, and all dimensions here that are not - selfare also used to form foreign keys.- For - Dimensioninstances, this should be exactly the same as- graph.required, but that may not be true for- DimensionElementinstances in general. When they differ, there are multiple combinations of dimensions that uniquely identify this element, but this one is more direct.
 - 
topology¶
- Return the relationship families to which this endpoint belongs. - It is keyed by the category for that family. 
 - 
uniqueKeys¶
- Return the unique fields. - All fields that can individually be used to identify records of this element, given the primary keys of all required dependencies ( - NamedValueAbstractSetof- FieldSpec).
 - Methods Documentation - 
classmethod from_json(json_str: str, universe: Optional[DimensionUniverse] = None, registry: Optional[Registry] = None) → SupportsSimple¶
- Return new class from JSON string. - Converts a JSON string created by - to_jsonand return something of the supplied class.- Parameters: - json_str : str
- Representation of the dimensions in JSON format as created by - to_json().
- universe : DimensionUniverse, optional
- The special graph of all known dimensions. Passed directly to - from_simple().
- registry : lsst.daf.butler.Registry, optional
- Registry to use to convert simple name of a DatasetType to a full - DatasetType. Passed directly to- from_simple().
 - Returns: - constructed : Any
- Newly-constructed object. 
 
- json_str : 
 - 
classmethod from_simple(simple: str, universe: Optional[DimensionUniverse] = None, registry: Optional[Registry] = None) → DimensionElement¶
- Construct a new object from the simplified form. - Usually the data is returned from the - to_simplemethod.- Parameters: - simple : str
- The value returned by - to_simple().
- universe : DimensionUniverse
- The special graph of all known dimensions. 
- registry : lsst.daf.butler.Registry, optional
- Registry from which a universe can be extracted. Can be - Noneif universe is provided explicitly.
 - Returns: - dataId : DimensionElement
- Newly-constructed object. 
 
- simple : 
 - 
hasTable() → bool¶
- Indicate if this element is associated with a table. - Return - Trueif this element is associated with a table (even if that table “belongs” to another element).
 - 
to_json(minimal: bool = False) → str¶
- Convert this class to JSON form. - The class type is not recorded in the JSON so the JSON decoder must know which class is represented. - Parameters: - minimal : bool, optional
- Use minimal serialization. Requires Registry to convert back to a full type. 
 - Returns: - json : str
- The class in JSON string format. 
 
- minimal : 
 
-