/digitalbuildings

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

Primary LanguagePythonApache License 2.0Apache-2.0

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, 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
  • 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:
  • Building Configuration which contains a mapping between the ontology and the "raw" data. Building Config is the Assertion Box.
  • Tools that allow the following:
    • Yaml Validator which allows to validate the yaml ontology upon a change or an extension.
    • RDF/OWL Generator which allows to generate an RDF version from the yaml ontology files.
  • Internal Building Representation (IBR) File Format to represent data from different verticals such as spatial, assets.

Learning Modules

The learning modules provide an overview of:

  • The main concepts of the Digital Buildings Ontology.
  • How to model and extend types.
  • The Building configuration file concepts.
  • The validation tools for the Building Configuration file.

Module 1

  1. Introduction to the Digital Buildings Ontology Lesson 1
  2. Conceptual Model Lesson 2
  3. Subfields Lesson 3
  4. Fields Lesson 4
  5. States and Multi-states Lesson 5
  6. Entity Types Lesson 6
  7. Mappings Lesson 7
  8. Connections Lesson 8
  9. Namespaces Lesson 9

Module 2

  1. Get ready for Data Model Lesson 1
  2. Determine which devices need to be modeled Lesson 2
  3. Determine which data points are required Lesson 3
  4. Name each data point using the DBO Lesson 4
  5. Propose an ontology extension Lesson 5
  6. Construct and finalize the building configuration file Lesson 6
  7. Validate the instance and telemetry Lesson 7

Issues

Please post issues in Issues section.

Discussion

Open mailing list to discuss Google's Digital Building effort. The discussion could include general questions, standards, APIs, and more. google-digital-building-discuss@googlegroups.com

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 2022 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