The LogicalRecord is a record definition. It is abstract.
The actual realization of record definitions are provided by the UnitDataRecord and the DataCube. UnitDataRecords support two types of record definitions. The first is based on the SimpleCollection it inherits from LogicalRecord. The second type is a StructuredCollection that specializes the LogicalRecord. As a SimpleCollection a UnitDataRecord can, for example, provide table definitions. As a StructuredCollection, UnitDataRecord can define structures comparable to a "struct" in C or a JSON nested object. A UnitDataRecord, then, inherits SimpleCollection from LogicalRecord but adds its own StructuredCollection into the mix. The DataCube brings into play its own StructuredCollection which is distinct from the UnitDataRecord StructuredCollection.The DataCube StructuredCollection is not currently in scope.
The various record definitions -- simple and structured -- when they are actually instantiated with data is described by the PhysicalLayout of a LogicalRecord in the FormatDescription package. The PhysicalLayout places data into DataPoints formed at the direction of a LogicalRecord and its instance variables. At this point a LogicalRecord turn into a "dataset" that hosts unit records, A record definition is not a record. So we conflate metadata and data when we refer to a LogicalRecord as an empty table.
In GSIM a DataPoint is a member of a "DataSet" and a UnitDataRecord. Since a DataPoint contains "Datum", this can lead to the conflation of a DataSet and a record definition. In the presence of a DataPoint it is difficult to be clear that a record definition does not have any rows.
In DDI4 we defer the introduction of DataPoints until PhysicalLayouts are described. In this approach the instance variables that make up a LogicalRecord work downstream where they help to give each DataPoint in a PhysicalRecord its format.
Name | Cardinality | Datatype | Description |
---|---|---|---|
type | 0..1 | Whether the collection is a bag or a set: a bag is a collection with duplicates allowed, a set is a collection without duplicates. | |
name | 0..n | A linguistic signifier. Human understandable name (word, phrase, or mnemonic) that reflects the ISO/IEC 11179-5 naming principles. If more than one name is provided provide a context to differentiate usage. | |
purpose | 0..1 | Explanation of the intent of some decision or object. Supports the use of multiple languages and structured text. | |
contains | 0..n | Specifies contents of Unit Record as Instance Variable values. | |
isOrdered | 0..1 | If members are ordered set to true, if unordered set to false. |
Name | Target Object | Description | Source cardinality | Target cardinality | Relationship type |
---|---|---|---|---|---|
realizes | Specifies the subtype of collection realized by this class | 0..n | 1..1 | Neither | |
definingConcept | The conceptual basis for the collection of members. | 0..n | 0..n | Neither |
Comments
agregory
Fri, 04/15/2016 - 23:29
Permalink
Data Record
What are Data Records intended to be? Why do they contain Instance Variables? The Datapoints already contain the needed references to describe a record. I think this belongs to the Physical Data Description, not the Logical.
agregory
Fri, 04/15/2016 - 23:30
Permalink
Name of DataRecord
Isn't this really a RecordType, rather than a record?