Http://techbase.kde.org/Projects/Nepomuk/OntologyExtension

From KDE TechBase

The Shared Desktop Ontologies were written with a very broad purpose in mind. That being said, they are still cases that are often not covered by it. In that case there are two possible options for extending the ontologies

Contributing to SDO

The Shared Desktop Ontologies project follows a strict review policy. In order for any changes to be made, a new ticket must first be filed stating the changes that wish to be made, and the rationale behind them.

Here is a list of all the currently open tickets.

Most discussions happen in the nepomuk mailing list. Feel free to email us about any changes.

Creating a custom ontology

Most of the ontologies are written in the trig syntax.

In order to install an ontology, the follow files are required -

  • ontology-name.trig The TriG file containing the ontology
  • ontology-name.ontology.in A file describing the ontology


In order to ease the process of creating custom ontologies a template ontology is provided in kdeexamples/nepomuk/ontology

Ontology C++ files

In order to easily access the ontology in your code. It is recommended to generate ontology headers. This can be done using some cmake magic provided by Soprano.

include(SopranoAddOntology)

# Generating headers for the nie ontology
soprano_add_ontology(SRCS "${SHAREDDESKTOPONTOLOGIES_ROOT_DIR}/nie/nie.trig" "NIE" "Nepomuk2::Vocabulary" "trig")


The Nepomuk-Core repository already provides ontology headers for the most commonly used ontologies.