โ† Back to Resources

bSDD Guide

buildingSMART Data Dictionary - Connected Data for the Built Environment

What is bSDD?

The buildingSMART Data Dictionary (bSDD) is an online service that hosts classifications, properties, and materials definitions for objects in the built environment. It provides a standardized way to define and share data definitions across projects, organizations, and software platforms.

Think of bSDD as a global library of building product data definitions. Instead of every project or organization creating their own property definitions, bSDD allows you to reference standardized definitions that are understood universally, ensuring consistent data exchange throughout the building lifecycle.

๐ŸŒ Global Standards

Access internationally recognized classifications and property definitions from organizations worldwide.

๐Ÿ”— Interoperability

Enable seamless data exchange between different software tools and project stakeholders.

๐Ÿ“Š Consistent Data

Ensure properties are defined consistently with correct data types, units, and allowed values.

๐Ÿ”„ Living Dictionary

Continuously updated with new content from industry organizations and standards bodies.

Core Concepts

๐Ÿ“š Dictionary

A dictionary is a collection of related definitions published by an organization. Each dictionary has a unique namespace and version control.

  • Published by organizations (e.g., buildingSMART, national bodies)
  • Contains domains, classifications, and properties
  • Versioned for change management
  • Can reference other dictionaries

๐Ÿ—๏ธ Domain

Domains are subject areas or disciplines within a dictionary that group related classifications and properties together.

  • Examples: Architecture, Structure, MEP, Civil
  • Helps organize large dictionaries
  • May have specific property sets
  • Reflects industry disciplines

๐Ÿ“ Classification

Classifications are categories or types of objects, materials, or concepts. They form hierarchies that organize building elements logically.

  • Hierarchical structure (parent-child)
  • Maps to IFC entities
  • Has associated properties
  • Examples: Walls, Doors, Windows, Pumps

๐Ÿ“‹ Property

Properties define characteristics that can be assigned to classifications. Each property has a data type, unit, and may have allowed values.

  • Data types: String, Number, Boolean, etc.
  • Units of measurement
  • Allowed values (enumerations)
  • Can be required or optional

๐Ÿท๏ธ Property Set

Property sets group related properties together for assignment to classifications. They define what information should be captured.

  • Logical grouping of properties
  • Assigned to one or more classifications
  • Similar to IFC property sets
  • Defines required vs optional properties

๐Ÿ”— Relations

Relations define how classifications and properties connect to each other and to external standards like IFC.

  • Parent-child hierarchies
  • IFC entity mappings
  • Cross-dictionary references
  • Similar/related classifications

bSDD Structure Hierarchy

Dictionary
Top-level container published by an organization
โ†“
Domain
Subject area grouping (Architecture, MEP, etc.)
โ†“
Classification
Object types with hierarchical relationships
โ†“
Properties & Property Sets
Attributes with data types, units, and constraints

Property Data Types

bSDD supports various data types to accurately define property values:

Data Type Description Example Properties
String Text values, optionally with pattern constraints Model Number, Manufacturer Name, Description
Real Decimal numbers with optional min/max bounds Thermal Conductivity, U-Value, Flow Rate
Integer Whole numbers with optional bounds Number of Panels, Floor Level, Capacity
Boolean True/false values Is External, Fire Rated, Load Bearing
Time Date and time values Installation Date, Warranty Expiry
Reference URIs linking to other resources Product Data Sheet URL, Technical Specification

bSDD Data Structure Example

Here's an example of how a classification with properties is represented in bSDD JSON format:

{
  "uri": "https://identifier.buildingsmart.org/uri/acme/materials/1.0/class/concretewall",
  "code": "ConcreteWall",
  "name": "Concrete Wall",
  "definition": "A wall constructed primarily of concrete",
  "relatedIfcEntityNames": ["IfcWall", "IfcWallStandardCase"],
  "classProperties": [
    {
      "name": "Concrete Strength Class",
      "dataType": "String",
      "allowedValues": [
        {"code": "C20/25", "value": "C20/25"},
        {"code": "C25/30", "value": "C25/30"},
        {"code": "C30/37", "value": "C30/37"}
      ]
    },
    {
      "name": "Thermal Transmittance",
      "dataType": "Real",
      "unit": "W/(mยฒยทK)",
      "minValue": 0
    },
    {
      "name": "Is Load Bearing",
      "dataType": "Boolean",
      "isRequired": true
    }
  ]
}

Integration with BIM Standards

IFC Integration

bSDD classifications map directly to IFC entities, enabling consistent property definitions that align with the IFC schema. Properties defined in bSDD can be exported as IFC property sets.

Classification: "ConcreteWall"
โ†’ Maps to: IfcWall, IfcWallStandardCase
โ†’ Properties become: Pset_WallCommon

IDS Integration

Information Delivery Specifications (IDS) can reference bSDD for property requirements. This ensures that property names, data types, and allowed values are consistent across the specification.

IDS Requirement:
Property "FireRating" from bSDD
โ†’ Validates: data type, allowed values
โ†’ Ensures: consistent naming

Classification Systems

bSDD hosts multiple classification systems including Uniclass, OmniClass, and national standards. This allows projects to use their preferred classification while maintaining interoperability.

Available Systems:
โ€ข Uniclass 2015 (UK)
โ€ข OmniClass (US)
โ€ข CCS (Denmark)
โ€ข And many more...

Product Data Templates

Manufacturers can publish product data templates (PDTs) to bSDD, defining exactly what properties their products support. This enables accurate product specification in BIM models.

Product Template:
โ€ข Manufacturer properties
โ€ข Technical specifications
โ€ข Performance data
โ€ข Sustainability info

bSDD API

The bSDD provides a REST API for programmatic access to dictionary content. This allows software applications to query and retrieve definitions dynamically.

GET /api/Dictionary/v1 List all available dictionaries
GET /api/Dictionary/v1/{namespaceUri} Get details of a specific dictionary
GET /api/Class/v1/{namespaceUri} Get classification details with properties
GET /api/Property/v1/{namespaceUri} Get property details including data type and constraints
GET /api/SearchInDictionary/v1 Search for classifications or properties by text

Common Use Cases

Model Validation

Use bSDD property definitions to validate that BIM model elements contain required properties with correct data types and values.

Specification Writing

Reference bSDD when writing project information requirements to ensure unambiguous property definitions across all stakeholders.

Software Development

Integrate bSDD API into BIM authoring tools to provide standardized property templates and validation during model creation.

Product Data

Manufacturers publish product properties to bSDD, enabling accurate specification and data exchange with design teams.

Data Exchange

Map properties between different classification systems using bSDD relationships, enabling international project collaboration.

Asset Management

Ensure COBie and asset data deliverables use consistent property definitions that facility managers can understand and use.

Tools & Resources

bSDD Search

Web interface to browse and search all dictionaries, classifications, and properties

Open bSDD Search

bSDD Management Portal

For organizations to publish and manage their own dictionaries

Management Portal

API Documentation

Technical documentation for integrating bSDD into software applications

View API Docs

buildingSMART Technical

Official documentation and standards information from buildingSMART

Learn More

Best Practices

1. Use Existing Definitions: Before creating new properties, search bSDD for existing definitions. Reusing established definitions improves interoperability.

2. Reference by URI: Always reference bSDD content by its URI rather than copying definitions. This ensures you always have the current version.

3. Map to IFC: When defining classifications, include mappings to relevant IFC entities to enable data exchange via IFC files.

4. Use Allowed Values: Define enumerated values for properties where applicable. This prevents free-text variations and improves data quality.

5. Document Units: Always specify units of measurement for numeric properties to avoid confusion and conversion errors.

6. Version Control: When publishing dictionaries, use semantic versioning and document changes between versions.