Back to top
Vastuu Group

Ontology extension guide

Last updated: March 7, 2021
|
Reading time: 3 min

Tags: Ontology, Protégé

This guide aims to describe how Platform of Trust customers and other interest groups can participate to the ontology development work. This guide explains the process of downloading the ontology file and the editing tool, making an increment and pushing the updated ontology file back to Platform of Trust for testing, validation and merging it to Platform of Trust master ontology.

You can also checkout Platform of Trust Ontologies V2 in our Ontology Viewer.

Ontology Viewer

Guidelines on editing ontology

Before starting to contribute towards the ontology development, kindly keep in mind the following DO's and DON'Ts

DOs

  • Make increments. You can add new subclasses under the current classes. You can also add new properties.
  • For classes, use pascal case naming convention. For example, PascalCase.
  • For properties, use camel case naming convention. For example, camelCase.
  • Add missing annotations and refine existing ones.
  • Be logical and semantically consistent.

DON'Ts

  • Do not delete anything from the Platform of Trust Core Ontology. You are allowed to delete only the classes that you have added yourself.
  • Do not edit the class or property names of Platform of Trust Core Ontology. You are allowed to edit only the names of the classes you have added.
  • Do not change the types of relations between the current classes. You are allowed to change only the relation types of the classes you have added.

Editing process

The following section describes the standard process on how ontology incrementation should be developed from start to end.

1. Download the latest Platform of Trust ontology

It can be downloaded from GitHub repository. It is located under path /{Version}/Ontology/pot.jsonld. Where {Version} is the required version, for example. v1. Since Protégé requires Expanded JSON-LD form, you need to expand it using JSON-LD Playground tool. Just copy-paste file content in tool and save Expanded form for future editing in Protégé.

2. Download and install Protégé ontology editor

Installation instructions for different operation systems can be found here.

3. Edit the ontology according to Platform of Trust guidelines

Open the file on Protégé. macOS users will have to change the ontology file ending from .jsonld to .owl. Once you have opened the ontology file with the editor, you are able to edit it. You should have at least basic knowledge about ontologies and OWL before starting the work. Please refer The W3C Web Ontology Language and Ontology Development 101. Also follow the guidelines specified in this document.

4. Save the file and push it as a PR to GitHub

At this point, you should be ready to push your developed set of Ontologies as PR to GitHub. Follow the steps below:

  • Make a fork of GitHub Repository.
  • Save the edited file in JSON-LD format with following naming schema: pot<your company's name>20yy-mm-dd.jsonld.
  • Add your file to the Suggestions folder under {Version} folder (ex. v1) in the GitHub repository. Fell free to add the Suggestions folder if it is missing. For example, a person working for YIT saving the file on April 20th names the file as v1\Suggestions\potYIT2020-04-20.jsonld.
  • Once the file is saved you can deliver it back to Platform of Trust for testing, validation, and implementation by creating a PR request from your fork repository.

Links and additional information

All classes and properties can be investigated in Platform of Trust Ontology Viewer.

All JSON-LD source files are available under GitHub Repository.

For more information on ontology read How to use standard data models guide.

If you are an application developer, it might be a good idea to read the Application Development Guide first.

If you are integrating data and creating data products, take a look at the Data Product Guide.

Open sandbox is your friend! Isolated environment for testing applications and data product integrations, read more from Sandbox Guide.

Ready to explore more?

Try Platform Sandbox

Improvement Suggestions? or a New Guide?

Tell us in GitHub