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, heterogeneous building portfolio in a scalable way. The project aims to enable management applications/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
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” 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.
- Ontology Validator: validates the ontology upon a change or an extension (currently only for the Yaml format).
- 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.
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.
- Lesson 1: Introduction to the DBO
- Lesson 2: Conceptual model
- Lesson 3: Subfields
- Lesson 4: Fields
- Lesson 5: States and multi-states
- Lesson 6: Entity yypes
- Lesson 7: Mappings
- Lesson 8: Connections
- Lesson 9: Namespaces
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
- Lesson 1: Get ready to data model
- Lesson 2: Determine which devices need to be modeled
- Lesson 3: Determine which data points are required
- Lesson 4: Name each data point using the DBO
- Lesson 5: Propose an ontology extension
- Lesson 6: Construct and finalize the building configuration file
- Lesson 7: Validate the instance and telemetry
Please post issues in the Issues section.
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: firstname.lastname@example.org.
Members are expected to adhere to this code of conduct: https://opensource.google.com/conduct.
How to Contribute
Please see the contribution section.
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.