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