Artur Tomczak, Product Manager

buildingSMART Data Dictionary

 

Artur Tomczak, Product Manager

buildingSMART Data Dictionary

 

Title: „Digital support for circular building design”
Supervisors: Eilif Hjelseth, Ole Jonny Klakegg

Previously:

...online service for hosting data dictionaries:
classifications, properties and more*.

 

...provides meta-data to enrich BIM models
and assure their quality.

 

...allows linking between the content.

What is bSDD?

* also materials, relations, allowed values, units, definitions and translations.

...easy access to classifications/standards to enrich BIM models (e.g. Uniclass, ETIM, EPDs).

...checking BIM data for validity.

...extending IFC.

...providing references for IDS.

 

 

What is bSDD for?

ISO 12006-3:2022
— Framework for object-oriented information

ISO 23386:2020
— Methodology to describe, author and maintain properties in interconnected
data dictionaries

ISO 23387:2020
Data templates for construction objects used in the life cycle of built assets — Concepts and principles

Related standards

Web of Data technologies

(Linked Data)

bSDD — data model

bSDD — data model

bSDD data structure — domains

Domain

bSDD data structure — domains

Domain: Fruits and vegetables

bSDD explainer — domains

bSDD explainer — classifications

bSDD explainer — properties

bSDD explainer — hierarchical sub-classes

bSDD explainer — connecting classes with properties

bSDD explainer — properties can restrict values

bSDD explainer — same for classification properties

bSDD explainer — there are multiple domains

bSDD explainer — domains can be connected

bSDD explainer — use of external properties

bSDD explainer — classification page

bSDD API

https://test.bsdd.buildingsmart.org/api/Domain/v3/Classifications?namespaceUri=https%3A%2F%2Fidentifier.buildingsmart.org%2Furi%2Fbs-agri%2Ffruitvegs-1.0&useNestedClassifications=true

bSDD API

https://test.bsdd.buildingsmart.org/swagger/index.html

bSDD search page

https://test.bsdd.buildingsmart.org/graphiql/

bSDD GraphQL API

{
  domain(namespaceUri : "http://identifier.buildingsmart.org/uri/sbe/swedishmaterials-1") {
    namespaceUri
    copyrightNotice
    languageCode
    classificationSearch(searchText: "asfaltbetong", languageCode: "sv-SE") {
      name
      namespaceUri
      synonyms
      relatedIfcEntityNames
      properties {
        name
        isRequired
        pattern
      }
    }
  }
}

bSDD GraphQL API

#1=IFCCLASSIFICATION($,$,$,'My Classification System',$,$,$);

the 4th argument is the classification name, the other ones are optional.


You can read more in the docs: 📚 IfcClassification-Docs

Ifc ↔ bSDD using the IfcClassification

#1=IFCCLASSIFICATION($,$,$,'My Classification System',$,$,$);
#2=IFCCLASSIFICATIONREFERENCE($,'My Wall Class',$,#1,$,$);

Ifc ↔ bSDD using the IfcClassification

To link with objects, a classification needs a Reference.

'123' is an ID.

'#1' points at the Classification.


You can read more in the docs:

📚 IfcClassificationReference-Docs

#1=IFCCLASSIFICATION($,$,$,'My Classification System',$,$,$);
#2=IFCCLASSIFICATIONREFERENCE($,'My Wall Class',$,#1,$,$);
#3=IFCSLAB('0B...zH',$,$,$,$,$,$,$,$);

Ifc ↔ bSDD using the IfcClassification

Then, let's create a slab object.

To make it simpler, let's skip the geometry, but it is still a valid Ifc element.


You can read more about creating IfcSlab in the documentation:

📚 IfcSlab-Docs

#1=IFCCLASSIFICATION($,$,$,'My Classification System',$,$,$);
#2=IFCCLASSIFICATIONREFERENCE($,'My Wall Class',$,#1,$,$);
#3=IFCSLAB('0B...zH',$,$,$,$,$,$,$,$);
#4=IFCRELASSOCIATESCLASSIFICATION('2n...7J',$,$,$,(#3),#2);

Ifc ↔ bSDD using the IfcClassification

Then, let's connect the slab with the classification using RelAssociatesClassification.


You can read more about associating classification in the documentation:

📚 IfcRelAssociatesClassification-Docs

Ifc ↔ bSDD — providing meaning to properties

The IfcProperty has the Specification attribute for:    

URI reference to a location with semantic definition or informative text to explain the property.

and the URI of bSDD property is a great match for it.

#123 = IFCPROPERTY(
  'Area',
  'https://identifier.buildingsmart.org/
  	uri/buildingsmart/ifc-4.3/prop/Area',
  IFCAREAMEASURE(21.37),
  $
  );

source: ISO 22057:2022
— Data templates for the use of environmental product declarations (EPDs) for construction products in building information modelling (BIM)

Relationship between Data Dictionaries and sustainability standards

bSDD plans

  • revise documentation, improve clarity
  • revise standard compliance
  • support the adoption of bSDD by key organizations
  • automate IFC integration
  • improve the web UI (search page)
  • ++

as of 14th Feb 2023, for buildingSMART Norway

Artur Tomczak, Product Manager

buildingSMART Data Dictionary

 

Showing the IFC model

bSDD intro

By Artur Tomczak

bSDD intro

  • 97