Skip to content

Tutorial - Working with OEMetadata#

OpenEnergy Platform

Learnings#

This tutorial will enable you to:

  • know what OEMetadata are
  • create and modify OEMetadata
  • use the OEO-extended to create new units

Introduction#

This tutorial will always refer specifically to OEMetadata (the Metadata used on the Open Energy Platform (OEP)). For a more general overview please see the course on Metadata.

Important Information on OEMetadata#

  • OEMetadata follows the specifications of one of the release versions of the standard. At the time v2.0.
  • OEMetadata documents are always created as a JSON-file, which can contain links to other elements, e.g. websites, classes from the Open Energy Ontology (OEO) etc.. The OEMetadata in version v2.0 always describes one whole dataset to a table.
  • OEMetadata is created in a specified yet flexible structure find the key descriptions for the newest version of the OEMetadata on GitHub.
  • There can always only be one revision of a OEMetadata document on the OEP! Meaning that the lifecycle of OEMetadata is critical because otherwise there might be multiple metadata documents liked to one table. In order for that not to happen the OEMetadata for a table on the OEP will be overwritten one a new version of the OEMetadata is uploaded. (For more information on the publishing process see this course.)
  • The minimal requirement to submit new OEMetadata is a filled out ID field. Here the URL of the table must be inserted. If you work with the OEMetadata on the OEP this field will be filled automatically for you. For all other fields please follow the key descriptions or see the information provided in the OEMetaBuilder.

How to create OEMetadata#

There are essentially two ways of creating OEMetadata. Both can be done with and without an already on the OEP existing table.

Manually creating OEMetadata using the OMI

You can manually create OEMetadata as a JSON-file using the blank template JSON file on your computer. This might be useful if you want to create multiple OEMetadata datasets for tables, where some fields will be filled out the same. Then it is much easier to copy and paste the entries. It is possible to manually create OEMetadata and later on modify them via the OEMetaBuilder. Note: Should only be done while using the OpenMetadataIntegration (OMI). This way of creating OEMetadata might result in faulty OEMetadata because the guidelines from the OEMetaBuilder are not provided while creating the dataset(s).

Creating OEMetadata using the OEMetaBuilder

On the OEP there is a tool to create your OEMetadata directly on the platform. It is called OEMetaBuilder and can be used when there already exists a table on the OEP for which you want to create the OEMetadata or as standalone version when no table, for which the OEMetadata dataset is for, exists on the OEP.

How to use the OEMetaBuilder#

You can find the OEMetaBuilder on the OEP under Database by clicking on OEMetaBuilder in the upper right corner. Database Then the OEMetaBuilder opens and you can see all the fields. Right next to the headline Create new Metadata for your Dataset there are two buttons; With the first one (the pen with JSON) you can edit and/or copy the code on which this page is based on in a popup window. With the second (the menu with properties) you can choose which fields will be shown or hidden by clicking on them in the list in the popup window. Whenever there is such a menu button next to a headline it enables you to choose which fields will be shown or hidden in the section the headline belongs to. At the lower right corner three buttons appear to Submit, Cancel or Download your OEMetadata. You can submit your OEMetadata if there already exists a table for your dataset. You can always download the dataset as a JSON-file or cancel the process. Beneath all fields is a description of what values and information may be filled in the field above. For more detailed information please see the key descriptions. Under Dataset overview you can provide general information over the resources in your metadata. You can give a Name, Title, Description and Identifier to your dataset. Anfang In order for the metadata to exist a minimum of one Resource must be added by clicking on the +Resourcebutton. Then under Resources different headlines will appear. Under General you can provide information to describe and identify the resource. If you create OEMetadata to an already existing table some fields will be filled automatically once you filled in the @ID of the table. This makes it easier for you and minimizes the possible errors. In the Name-field please provide the human readable name of the subject, e.g. energy. In the Path-field please provide the corresponding URL to the OEO, e.g. https://openenergy-platform.org/ontology/oeo/OEO_00000150. General With clicking on the +Topic under Topics you can an array of predefined topics. Topics You can provide language tag(s) for all languages used in your data, including the table and the OEMetadata dataset. You can add multiple languages by clicking on the +Language right next to the headline Language. Note: Please use the required standard (IETF (BCP47)). Language Under Subject you can provide subjects which describe your data. You can add subjects by clicking on the +Subject. In the Name-field please provide the human readable name of the subject, e.g. energy. In the Path-field please provide the corresponding URL to the OEO, e.g. https://openenergy-platform.org/ontology/oeo/OEO_00000150. Note: Subjects help other users to find your data and know what it is about. Subject Additionally to the Subjects you can also provide Keywords. These don't have to be defined in the OEO, but can help to describe the content of your data even more precisely. The Keywords make it also possible to filter the tables in the OEO Database. Keywords You can give context to your data, e.g. a research project. This makes your data more comprehendible and traceable for others. Context You can specify the Spatial context of your data, by giving a Location and the Extent. Spatial Spatial You can also define the time of your data by giving a Reference Date. You can add Timeseries by clicking on the +Timeseries next to the headline. There you can specify start, end and resolution of the series and information about how the data is implemented in the table. You can add multiple timeseries if necessary. Temporal By clicking on +Source under the corresponding headline, under Basic you can provide a human readable title, a description of the source and the path to the source as URL. Sources_Basic You can add the Authors with their full names. Sources_Authors And the License Information to the license under which the source is published. You can provide the SPDX identifier, a human readable name as well as a path to the license and further information. Sources_License You can add multiple sources and then multiple authors and licenses if needed. You can also provide the License Information to the license under which the data described in this resource is provided. Again you can provide the SPDX identifier, a human readable name as well as a path to the license and further information. License You may provide information about the contributors of your data. In addition to their name you can also add a qualified link to an relevant online location (e.g) You can add multiple contributors and add details about their contribution. Contributors You can also annotate the data in your table. This helps to make the data in your table comparable to others because it makes a connection between columns and/or fields to classes in the OEO. If you create OEMetadata for an already existing table, the names of the fields will be filled in automatically and make the process of annotating more convenient. Note: If you want to annotate without an already on the OEO existing table you must have a basic understanding to data-structure and databases and their relations. In order to do so you must click on +Filed under Data schema. For each field you can specify the Column by giving the name of the field and adding description, type, nullable and/or unit. Column The important step of making the connection between the entries in your table and the classes of the ontology happens now by providing the human readable term and the path to the OEO. isabout Using the OEOextended If you want to use an unit which is not in the OEO yet, meaning you can't find it via the implemented search, you can click on the button Open OEO-extended. This will open a popup window. OEOex In the OEO-extended (OEOX) it is possible to create an additional unit using units already existing in the OEO. All created units will be reviewed and published on GitHub and uploaded to the OEO. For further information on the OEOX please see this paper. To create the new unit you can choose your Numerator(s) and Denominator(s). You can respectively choose the unit name from all units implemented in the OEO, e.g. hour, a Unit Type according to the power you want to have (linear, squared or cubic) and, if necessary, a Unit Prefix e.g. mega. Once you entered something in the Unit Name-field a fraction will appear showing you the unit you are about to create. It is possible to choose multiple Numerator and Denominator, which will be each multiplied by each other. When you created the unit you want to use, click Save. Then the URI to the new unit in the OEOX will appear. You have to copy and paste it to your browser in order to entry the Name and Path in the isAbout-field. The OEOX is implemented on different fields in the OEMetaBuilder to make it easier to create new units. isabout You can provide a class of the OEO for entries of a whole column. By annotating the name of the column with the name and path of the OEO class. You only have to fill in the name field and select one option from the drop down menu and the path will be filled in automatically. The result would be for example: The column name is 'sc' for 'scenario'. So the annotation name is 'scenario' and the path would be 'http://openenergy-platform.org/ontology/oeo/OEO_00000364'.

To annotate a single value from a cell as part of the current column, you can annotate the specific value, e.g. column 'Gas' has the value 'co2eq' and should be annotated with 'Carbon Dioxide Equivalent Quantity Value'. The annotation can therefore only be made if values are already known. This value must be entered in the value field. The Name & Path fields are filled in in the same way as in the is About section. This type of annotation can be very time consuming. If you have many unique values in your column, we recommend creating an additional table that assigns the values and annotations, as this seems to make more sense. Meaning in some specific cases it might be better to manually create your annotations in the OEMetadata and the OEMetaBuilder is not the best option. You can also give a Primary Key which uniquely identifies each row of your table. PrimaryKey You can also refer to an other table by giving a Foreign Key. ForeignKey If you want to reference another table you can provide the foreign table in the Resource-field and then specifying which column should be referenced in the Field below. References Congratulations! You build your own Metadata to your dataset.

About this tutorial#

logo

  • Author: Vismaya Jochem
  • Copyright: Reiner Lemoine Institut
  • License: CC BY 4.0
  • Attribution: Open Energy Academy - OEMetadata Tutorial © Reiner Lemoine Institut
  • Last update: 2025-08-25