This course has already ended.

The latest instance of the course can be found at: Semantic Web: 2024 MOOC


Creating a SKOS vocabulary

In this exercise we get acquainted with the ontology editor TopBraid Composer and use it to create a small SKOS ( vocabulary. First you should download the Free Edition (version 6.0.1) of the editor from

Extract the TopBraid Composer archive to your computer and run the editor with either:

  • TopBraid Composer.exe (Windows)
  • TopBraid Composer (Linux and OS X)

We will use TopBraid to Create a SKOS vocabulary of concepts. The concepts should be instances of the class skos:Concept.

Start by creating a new project (File → New → Project…) and a new RDF/OWL file (File → New → RDF File). Define a file name and check SKOS in the “Initial imports” section to get SKOS classes and properties available.

Also check “Set a default namespace in the new file” to be able to write URIs of your own resources as local names. Click Finish and set “Default Namespace” in the “Ontology Overview” view to the Aalto University namespace, where your vocabulary’s URIs will be placed.

biological family hierarchy grouped by consumption classification:


Your task is to define a concept hierarchy of the above biological family hierarchy using the property skos:broader. The created concepts should all have name (skos:prefLabel).

Concepts marked with < > in the hierarchy description are grouping concepts. Create these as instances of the class skos:Collection, they are not a part of skos:broader hierarchy, instead skos:member is used to assign animals to grouping concepts.

Define resource names exactly as they are described in the hierarchy tree. Be careful with typos as the automatic tests are still extremely strict with them.

By default the TopBraid Composer shows concept hierarchies by the property rdfs:subClassOf. You can view a SKOS hierarchy by clicking skos:broader property in Properties view (the right-most tab in the default window setup).

The skos:broader can be found under skos:semanticRelation and skos:broaderTransitive. Right-click the skos:broader and select “Show in Associations view”. This will open a skos:broader hierarchy view.

A handy way to build a hierarchy is to start creating the vocabulary from the hierarchy view. In the hierarchy view, click option “Create new top-level node…” and create the hierarchy’s topmost concept (biologicalFamily).

Show/hide example image

An example view of the TopBraid app when creating a new top-level node (on linux with dark theme):


Subconcepts can be defined by right-clicking and selecting “Create new child…”. An existing concept can be added as a subconcept by selecting “Add child…”. Continue this until the whole hierarchy is ready.

You can add a grouping concept by right-clicking skos:Collection from the Classes view (under owl:Thing), and selecting “Create instance…”. You can attach concepts to a grouping concept with the skos:member property by clicking the triangle next to the property name and choosing “Add existing…” in the Resource form (in the middle of screen) of a created Collection instance. Please note that the grouping concepts are not visible in the skos:broader hierarchy view.

Create a skos:ConceptScheme instance to represent your vocabulary by clicking the skos:ConceptScheme (under owl:Thing) in the Classes view, and choosing “Create instance…”. Give your vocabulary a name and define a topmost concept (biologicalFamily) with skos:hasTopConcept property.

A+ presents the exercise submission form here.

Posting submission...