Underlying ISO standards
Mapping of the attributes between bSDD and ISO standards
⚠️ THIS PAGE IS A WORK IN PROGRESS AND SHOULD NOT BE USED FOR REFERENCE ⚠️
The bSDD is based on ISO12006-3 and ISO23386 standards, which define data dictionaries. For ease of integration with openBIM workflows, the bSDD is stripped down to the essential aspects: defining interrelated terms and properties describing the built environment. The bSDD constraints include the imposed units list, languages list, and types of relations between concepts (ISO leaves freedom of definition to users, hindering interpretation by software). The inheritance structure of ISO12006-3 (Root→Object→Concept→Subject/Property) is simplified in bSDD to one level: Class and Property.
The ISO allows the versioning of each concept individually, which is important for the development of a data dictionary. In bSDD, to support contractual agreements, each change results in a new version of the complete dictionary. This does not apply if a dictionary is not activated. Read more about the content lifecycle in bSDD.
Below is the table mapping the attributes of bSDD and ISO standards. bSDD attributes are defined in the bSDD data model.
bSDD | ISO23386:2020 | ISO12006-3:2022 | Comment |
---|---|---|---|
Property/Class: Uid, Uri | Property/GroupOfProperties: Globally unique identifier | xtdRoot: UniqueId | (G)UID is optional in bSDD, required in ISO. In bSDD role of UID was replaced with URI, and UID is only to support use cases needing it. URI allows viewing the metadata of a property. |
Property/Class/Dictionary: Status | Property/GroupOfProperties: Status | ✖️ | bSDD and ISO have “Active” and “Inactive”. bSDD also has “Preview”, so it extends ISO. |
(see Dictionary: ReleaseDate) | Property/GroupOfProperties: Date of creation | xtdObject: DateOfCreation | In bSDD it is the ReleaseDate date of the first version. |
Property/Class: ActivationDateUtc | Property/GroupOfProperties: Date of activation | ✖️ | In bSDD it is the date when the status was changed to ‘Active’. |
(see Dictionary: ReleaseDate) | Property/GroupOfProperties: Date of last change | ✖️ | In bSDD it is the date of the last version when a change occured. |
Property/Class: RevisionDateUtc | Property/GroupOfProperties: Date of revision | ✖️ | |
Property/Class: VersionDateUtc | Property/GroupOfProperties: Date of version | ✖️ | |
Property/Class: DeActivationDateUtc | Property/GroupOfProperties: Date of deactivation | ✖️ | In bSDD it is the date when the status was changed to ‘Inactive’. |
Property/Class: VersionNumber | Property/GroupOfProperties: Version number | xtdObject: MajorVersion | Version number in ISO23386 is what Major version in ISO12006-3 (similarly Revision number is MinorVersion). In bSDD, the attributes are named like in ISO23386, but the version already includes three numbers: 1.2.3 – Major, Minor and Patch (read more on Semantic Versioning at https://semver.org/). |
Property/Class: RevisionNumber | Property/GroupOfProperties: Revision number | xtdObject: MinorVersion | See row above. The revision number is redundant in bSDD, but can be used to say how many revision of a certain field has been made. |
Property/Class: ReplacedObjectCodes | Property/GroupOfProperties: List of replaced properties | xtdObject: ReplacedObjects | |
Property/Class: ReplacingObjectCodes | Property/GroupOfProperties: List of replacing properties | ✖️ | |
Property/Class: DeprecationExplanation | Property/GroupOfProperties: Deprecation explanation | xtdObject: DeprecationExplanation | |
Property/Class: CreatorLanguageIsoCode | Property/GroupOfProperties: Creator’s language | xtdConcept: LanguageOfCreator | In ISO an xtdLanguage object with: EnglishName (acc. ISO 639 series), NativeName, Comments, Code In bSDD a bSI managed list with: IsoCode, Name (https://api.bsdd.buildingsmart.org/api/Language/v1 ) |
Property/Class: Name | Property/GroupOfProperties: Names in language N | xtdObject: Names | |
Property/Class: Definition | Property/GroupOfProperties: Definitions in language N | xtdConcept: Definition | |
Property: Description | Property: Descriptions in language N | xtdConcept: Descriptions | |
Property: Example | Property: Examples in language N | xtdConcept: Examples | |
Property: ConnectedPropertyCodes | Property: Connected properties | ✖️ | |
(schema/API) | Property: Group(s) of properties | ✖️ | In bSDD Class Property can be within Group of Property (type of Class). |
Property/Class: VisualRepresentationUri | Property/GroupOfProperties: Visual representation | xtdConcept: VisualRepresentations | In ISO it’s a Media object, in bSDD only link to external visual representation allowed. |
Property/Class: CountriesOfUse | Property/GroupOfProperties: Country of use | ✖️ | In bSDD a predefined list governed by bSI. |
Property/Class: SubdivisionsOfUse | Property/GroupOfProperties: Subdivision of use | ✖️ | |
Property/Class: CountryOfOrigin | Property/GroupOfProperties: Country of origin | xtdConcept: CountryOfOrigin | In bSDD a predefined list governed by bSI. |
Property: PhysicalQuantity | Property: Physical quantity | xtdProperty: QuantityKinds | |
Property: Dimension | Property: Dimension | xtdProperty: Dimension | |
Property: MethodOfMeasurement | Property: Method of measurement | ✖️ | |
Property: DataType | Property: Data type | xtdProperty: DataType | The same, but bSDD missing: XTD_RATIONAL and XTD_COMPLEX for simplicity of implementation. |
Property: IsDynamic | Property: Dynamic Property | ✖️ | |
Property: DynamicParameterPropertyCodes | Property: Parameters of the dynamic property | ✖️ | |
Property: Units | Property: Units | xtdProperty: Units | In ISO has: Dimension, Symbol, Coefficient, Scale, Base, Offset In bSDD a bS managed list: https://api.bsdd.buildingsmart.org/api/Unit/v1, with Code and Name. |
✖️ | Property: Names of the defining values | ✖️ | Defining values in ISO are extending the list with any custom attributes. In bSDD that would limit the interoperability. |
✖️ | Property: Defining values | ✖️ | Defining values in ISO are extending the list with any custom attributes. In bSDD that would limit the interoperability. |
✖️ | Property: Tolerance | ✖️ | ISO23386: For numerical values; the total amont that a specific unit is permitted to vary; it is the difference between the maxium and the minimum limits per unit. |
✖️ | Property: Digital format | ✖️ | In ISO23386 it is a pair of precision and unit for digital text type. Not to be confused with DataFormat pattern. |
Property: TextFormat | Property: Text format | ✖️ | |
Property: AllowedValues | Property: List of possible values in language N | xtdProperty: PossibleValues | ISO: ‘the description of a value of an xtdProperty’. ISO has ‘NominalValue’, while bSDD has Description, Value, SortNumber, Uri, Code. |
Property: MaxExclusive, MaxInclusive, MinExclusive, MinInclusive | Property: Boundary values | xtdProperty: BoundaryValues | In ISO xtdInterval object which contains: Minimum, MinimumIncluded, Maximum, MaximumIncluded. In bSDD separate attributes to do the same: MinExclusive, MinInclusive, MaxExclusive, MaxInclusive. |
PropertyRelation: (RelationType == IsSynonymOf) | ✖️ | xtdConcept: SimilarTo | In bSDD solved with relations of type “IsSynonymOf” |
(schema/API) | ✖️ | xtdObject: Dictionary | In bSDD property is located in a certain dictionary. |
Property/Class: DocumentReference | ✖️ | xtdConcept: ReferenceDocuments | In ISO xtdExternalDocument, but in bSDD a string from bSI managed list: https://api.bsdd.buildingsmart.org/api/ReferenceDocument/v1 |
Property/Class: Code | ✖️ | ✖️ | Code is used to generate URI and can be used for identification within a dictionary. |
Property: DimensionLength | ✖️ | ✖️ | |
Property: DimensionMass | ✖️ | ✖️ | |
Property: DimensionTime | ✖️ | ✖️ | |
Property: DimensionElectricCurrent | ✖️ | ✖️ | |
Property: DimensionThermodynamicTemperature | ✖️ | ✖️ | |
Property: DimensionAmountOfSubstance | ✖️ | ✖️ | |
Property: DimensionLuminousIntensity | ✖️ | ✖️ | |
Property/Class: OwnedUri | ✖️ | ✖️ | |
Property: Pattern | ✖️ | xtdProperty: DataFormat | Pattern for the property values, the meaning of the pattern is implementation dependant |
Property: PropertyValueKind | ✖️ | ✖️ | In bSDD: Single/Range/List/Complex/ComplexList |
Property: PropertyRelations | Property: Relation of the property identifiers in the interconnected data dictionaries | ✖️ | |
ClassProperty: IsRequired | ✖️ | ✖️ | |
ClassProperty: IsWritable | ✖️ | ✖️ | |
ClassProperty: PredefinedValue | ✖️ | ✖️ | |
ClassProperty: PropertyCode | ✖️ | ✖️ | |
ClassProperty: PropertyUri | ✖️ | ✖️ | |
ClassProperty: PropertySet | ✖️ | ✖️ | |
ClassProperty: PropertyType | ✖️ | ✖️ | In bSDD: Property/Dependency |
ClassProperty: SortNumber | ✖️ | ✖️ | ISO has xtdOrderedValue object: “to connect a value with its order in a list of predefined values.”. In bSDD AllowedValues have this optional order attribute. |
ClassProperty: Symbol | Property: Symbols of the property in a given property group | xtdProperty: Symbols | ISO has: Symbol, Subject In bSDD: text attribute. |
ClassProperty: Unit | ✖️ | ✖️ | Singular for ClassProp, while plural for Property. See ‘Units’ for explanation. |
ClassRelation | GroupOfProperties: Relation of the group of properties identifiers in the interconnected data dictionaries | ✖️ | In bSDD solved with relations. |
Class: ClassificationType | GroupOfProperties: Category of group of properties | ✖️ | See ISO23386 Category of GroupOfProperties vs bSDD ClassType |
Class: ParentClassificationCode | GroupOfProperties: Parent group of properties | ✖️ | |
Class: ClassificationProperties | ✖️ | xtdSubject: Properties | |
Class: ClassificationRelations | ✖️ | xtdSubject: ConnectedSubjects | |
Class: ReferenceCode | ✖️ | ✖️ | |
Class: RelatedIfcEntityNamesList | ✖️ | ✖️ | To support the use case of extending IFC schema with custom classes. |
Class: Synonyms | ✖️ | ✖️ | There are two ways to define synonyms in bSDD: with that attribute or with relations of type “IsSynonymOf”. |
✖️ | ✖️ | xtdSubject: Filters | In bSDD relations serve similar purpose, but the concept of Filter is not implemented for simplicity of use. |
ClassRelation: RelatedClassificationUri | ✖️ | ✖️ | |
ClassRelation: RelatedClassificationName | ✖️ | ✖️ | |
ClassRelation: RelationType | ✖️ | ✖️ | See xtdConcept/SimilarTo in ISO12006-3 |
ClassRelation: Fraction | ✖️ | ✖️ | _ Optional provision of a fraction of the total amount (e.g. volume or weight) that applies to the Classification owning the relations. The sum of Fractions per classification/relationtype must be 1._ |
PropertyRelation: RelatedPropertyName | ✖️ | ✖️ | |
PropertyRelation: RelatedPropertyUri | ✖️ | ✖️ | |
PropertyRelation: RelationType | ✖️ | ✖️ | |
AllowedValue: Code | ✖️ | ✖️ | Code is used to generate URI and can be used for identification within a dictionary. |
AllowedValue: Description | ✖️ | ✖️ | |
AllowedValue: Uri | ✖️ | ✖️ | |
AllowedValue: SortNumber | ✖️ | ✖️ | |
AllowedValue: Value | ✖️ | ✖️ | |
Dictionary: DictionaryCode | ✖️ | ✖️ | Code is used to generate URI and can be used for identification within an organisation. |
Dictionary: DictionaryName | ✖️ | ✖️ | |
Dictionary: DictionaryUri | ✖️ | ✖️ | |
Dictionary: DictionaryVersion | ✖️ | ✖️ | |
Dictionary: LanguageIsoCode | ✖️ | ✖️ | |
Dictionary: License | ✖️ | ✖️ | |
Dictionary: LicenseUrl | ✖️ | ✖️ | |
Dictionary: MoreInfoUrl | ✖️ | ✖️ | |
Dictionary: OrganizationCode | ✖️ | ✖️ | |
Dictionary: QualityAssuranceProcedure | ✖️ | ✖️ | |
Dictionary: QualityAssuranceProcedureUrl | ✖️ | ✖️ | |
Dictionary: ReleaseDate | ✖️ | ✖️ | Date of the current version. |
Units
TBD…
ISO23386 Category of GroupOfProperties vs bSDD ClassType
TBD…
Additional notes
- According to ISO12006-3, it is obligatory to have the English term provided for all the names/definitions.
Imported from MarkDown source file