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

    From KDE TechBase

    Introducing Ontologies

    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 you 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.