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

From KDE TechBase
m (Text replace - "</code>" to "</syntaxhighlight>")
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TutorialBrowser|
{{TutorialBrowser|
series=Nepomuk|
series=[[../|Nepomuk]]|
name=Nepomuk Services|
name=Nepomuk Services|
pre=|
pre=|
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:
<syntaxhighlight lang="text">org.kde.nepomuk.services.SERVICENAME</syntaxhighlight>
All services provide a ''org.kde.nepomuk.ServiceControl'' interface exported at ''servicecontrol''.


===Standard Nepomuk Services===
===Standard Nepomuk Services===
Line 27: Line 33:
Nepomuk provides a set of standard services:
Nepomuk provides a set of standard services:


* [[../StorageService|Storage]] - The probably most important service hosts the Nepomuk data repository using [http://soprano.sourceforge.net Soprano].
* [[../StorageService|Storage Service]] - The probably most important service hosts the Nepomuk data repository using [http://soprano.sourceforge.net Soprano].
* [[../OntologyLoaderService|OntologyLoader]] - Makes sure installed ontologies such as RDF, RDFS, NRL, or Xesam are loaded into the storage repository.
* [[../OntologyLoaderService|Ontology Loader Service]] - Makes sure installed ontologies such as RDF, RDFS, NRL, or Xesam are loaded into the storage repository.
* [[../StrigiService|Strigi]] - Controls Strigi, the file indexing tool which extracts metadata from files and stores it into the storage repository.
* [[../FileWatchService|File Watch Service]] - Monitors the file system for changes and updates the file resource paths and URIs in Nepomuk.
* [[../QueryService|Query]] - Provides persistant query folders.
* [[../StrigiService|Strigi Service]] - Controls Strigi, the file indexing tool which extracts metadata from files and stores it into the storage repository.
* [[../QueryService|Query Service]] - Provides persistant query folders.

Latest revision as of 20:53, 29 June 2011

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 Service - The probably most important service hosts the Nepomuk data repository using Soprano.
  • Ontology Loader Service - Makes sure installed ontologies such as RDF, RDFS, NRL, or Xesam are loaded into the storage repository.
  • File Watch Service - Monitors the file system for changes and updates the file resource paths and URIs in Nepomuk.
  • Strigi Service - Controls Strigi, the file indexing tool which extracts metadata from files and stores it into the storage repository.
  • Query Service - Provides persistant query folders.