Skip to content

05 - The Open Energy Ontology#

How to become an OEO developer#

For whom is this training and what can you learn?#

This course is aimed at (energy system) researchers who

  • want to understand the OEO design choices,
  • want to get to know the OEO development processes,
  • want to participate in ontology development and
  • want to collaborate developping a powerful open-source tool to enhance data management in the energy domain under the FAIR principles.

After reading the sections of this module, you will know

  • which skills you need for OEO development,
  • how the OEO development process works and
  • how to participate in OEO development.

What are prerequisit skills for ontology development?#

The following skills will help you understand the OEO better and enable you to participate in its development:

  1. BFO basics
  2. Protégé and OWL basics
  3. GitHub and git
  4. OEO specific knowledge

1. BFO basics#

The OEO uses the formal structure and design principles of the Basic Formal Ontology (BFO). The more familiar you are with BFO, the better you will be able to contribute to the OEO development process.

This video tutorial (78 min) provides an overview and introduction to BFO. Building Ontologies with Basic Formal Ontology

The standard literature on BFO is Arp, Smith and Spear (2015): Building Ontologies with Basic Formal Ontology. If you decide to become an OEO developer, you should read this book. It is also a helpful work of reference.

The BFO code is hosted on GitHub where the wiki page also provides further publications and information on BFO.

2. Protégé and OWL basics#

The OEO is based on the Web Ontology Language OWL and uses Manchester Syntax. Protégé is the tool used for OEO development.

To become familiar with Protégé and OWL, we recommend studying the Pizza tutorial by Micheal DeBellis, especially chapter 1 to 7. For the tutorial, as well as OEO development, you will have to install Protégé on your computer.

You can find the OWL2 and Manchester Syntax documentation here for further reading.

3. GitHub and git basics#

The documentation of the OEO development, its discussion and version control all take place on GitHub. Therefore, it is necessary to be familiar with versioning control via git and GitHub as a platform.

Which OEO specific knowledge do I need?#

Introducing the Open Energy Ontology: Enhancing data interpretation and interfacing in energy systems analysis We published an introductory paper about the OEO in the journal Energy and AI in 2021. It provides a good overview over the domain, the structure and the workflow of OEO development.

OEO Wiki The OEO wiki provides details on how best practice principles of ontology development are applied to OEO development.

The representation of energy, energy carriers and fuels in the Open Energy Ontology Energy is a complex physical phenomenon and challenging to describe ontologically. We published another OEO specific paper that describes how we decided to represent energy and energy carriers in the OEO.

I have read everything - how can I join the developer team now?#

  1. Get in touch with us!
  2. We always welcome new members to the development team in our regular oeo-dev-meetings, where we discuss organisational things and content related issues.
  3. To participate in the OEO development and discussion process on GitHub, you will need to become part of the OpenEnergyFamily organisation.
  4. Afterwards, you can follow all instructions and explanations of the general workflow in the on GitHub.
  5. In all discussions, whether in an online meeting or on GitHub, we follow our Code of Conduct.

About this course#


  • Authors: Mirjam Stappel, Christian Hofmann, Hannah Förster, Christian Winger, Ulf Mueller
  • Copyright: Otto-von-Guericke-Universität, Fraunhofer IEE, Öko-Institut, Reiner Lemoine Institut (2023)
  • Contact:
  • License: CC BY 4.0
  • Attribution: Fraunhofer IEE, Reiner Lemoine Institut, Otto-von-Guericke-Universität, Öko-Institut (2023): Contribute to the OEO.
  • Last update: 2024-05-21
  • You can provide feedback to this course on github: