Http://techbase.kde.org/Projects/Nepomuk/OntologyExtension
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 ontologyontology-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.