The Nepomuk Server manages all Nepomuk services. It provides a simple ServiceManager D-Bus interface to start and stop services and to modify their autostart behaviour.
A Nepomuk service has three properties from a service manager point of view:
- Autostart - should the service be automatically started when the Nepomuk server stars
- Run once - A Nepomuk service may be defined as run once which means that it will be started automatically once and not afterwards. This is useful for services that update data to new ontology versions and such.
- Dependencies - A list of services that need to run for the service to work. The Nepomuk server will make sure all dependencies are running before the service is started.
Implementing a Nepomuk Service
Implementing a Nepomuk service is simple: derive a new class from Nepomuk::Service, put it into a plugin, and register it via a proper plugin desktop file. The Nepomuk::Service class documentation provides more detail and examples.
Standard Nepomuk Services
Nepomuk provides a set of standard services:
- Storage - The probably most important service hosts the Nepomuk data repository using Soprano.
- OntologyLoader - Makes sure installed ontologies such as RDF, RDFS, NRL, or Xesam are loaded into the storage repository.
- Strigi - Controls Strigi, the file indexing tool which extracts metadata from files and stores it into the storage repository.