Development/Tutorials/Metadata/Nepomuk/NepomukServices: Difference between revisions

From KDE TechBase
Line 22: Line 22:
Implementing a Nepomuk service is simple: derive a new class from [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html Nepomuk::Service], put it into a plugin, and register it via a proper plugin desktop file. The [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html Nepomuk::Service class documentation] provides more detail and examples.
Implementing a Nepomuk service is simple: derive a new class from [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html Nepomuk::Service], put it into a plugin, and register it via a proper plugin desktop file. The [http://api.kde.org/4.x-api/kdelibs-apidocs/nepomuk/html/classNepomuk_1_1Service.html Nepomuk::Service class documentation] provides more detail and examples.


===Accessing Nepomuk Services===
Each Nepomuk service is registered as a D-Bus service under the following ID:
<code>org.kde.nepomuk.services.SERVICENAME</code>
All services provide a ''org.kde.nepomuk.ServiceControl'' interface exported at ''servicecontrol''.


===Standard Nepomuk Services===
===Standard Nepomuk Services===

Revision as of 13:18, 17 November 2008

Nepomuk Services
Tutorial Series   Nepomuk
Previous  
What's Next   Advanced Queries
Further Reading   Introduction to RDF and Ontologies, Handling Resources with Nepomuk, Nepomuk Server

Nepomuk Services

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.


Accessing Nepomuk Services

Each Nepomuk service is registered as a D-Bus service under the following ID: org.kde.nepomuk.services.SERVICENAME All services provide a org.kde.nepomuk.ServiceControl interface exported at servicecontrol.

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.
  • Query - Provides persistant query folders.