Skip to content

Digital Buildings (ontology and SDK) currently being used by Google internally to manage our own buildings.

License

Notifications You must be signed in to change notification settings

google/digitalbuildings

Tools Ontology Type Validator Node.js CI GitHub stars License

Digital Buildings Project

The Digital Buildings project is an open-source, Apache-licensed effort to create a uniform schema and toolset for representing structured information about buildings and building-installed equipment. A version of the Digital Buildings ontology and toolset is currently being used by Google to manage buildings in its portfolio.

The Digital Buildings project originated from the need to manage a very large and heterogeneous building portfolio in a scalable way. The project aims to enable management applications and analyses that are trivially portable between buildings. This goal is achieved through a combination of semantically-expressive abstract modeling, an easy-to-use configuration language, and robust validation tooling. Digital Buildings work has been inspired by Project Haystack and BrickSchema and maintains cross-compatibility and/or convergence as a long-term objective.

In creating the Digital Buildings project, we have considered the following:

  • Human readability
  • Machine readability and interpretation
  • Composable functionality
  • Dimensional analysis
  • Correctness validation
  • Cross-compatibility

Project Structure

This project is structured as follows:

  • An ontology that defines the parameters of the semantic data model ("Terminology box") and tools for building, validating, and associating real equipment with a specific model. It contains the following formats:

  • A model instance configuration (a.k.a building configuration file) that contains a mapping between the ontology and the "raw" real-world data. Building configuration files are the "Assertion box."

  • Tools that enable the following:

    • ABEL: facilitates easier building configration construction by converting from a templatized Google Sheet to a building configuration file (and from a building configuration file back to a Google Sheet).
    • Explorer: allows users to explore ontology type fields and compare ontology types to each other.
    • Instance Validator: validates a concrete application (instance) of DBO (i.e., a building configuration file) with optional telemetry validation.
    • Ontology Validator: validates the ontology upon a change or an extension (currently supports YAML format only).
    • RDF/OWL Generator: generates an RDF version from the YAML ontology files.
  • An Internal Building Representation (IBR) file format to represent data from different verticals such as spatial or assets.

Learning Modules

The learning modules provide an overview of the following key concepts:

  • The main concepts and components of the Digital Buildings Ontology
  • How to model entities and extend types in the ontology
  • The components of building configuration files
  • How to use the validation tools for ontology extensions and building configuration files

Module 1: Digital Buildings Ontology (DBO)

In this module, you’ll fully explore the core modeling and organizational concepts of the DBO. These are essential concepts for data modeling and creating building configuration files.

Module 2: Data Modeling with the DBO

In this module, you’ll deepen your understanding of the DBO and practice applying it. Through several hands-on activities, you'll walk through the recommended workflow for creating a building configuration file

Issues

Please post issues in the Issues section.

Discussion

Our team has created an open mailing list to discuss Google's Digital Building effort. The discussion could include general questions, standards, APIs, and more. Join the discussion here: [email protected].

Members are expected to adhere to this code of conduct: https://opensource.google.com/conduct.

How to Contribute

Please see the contribution section.

License

Copyright 2023 Google LLC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Publications & Talks