This page is to direct developers to documentation that they would find helpful when developing their application to make use of Tracker technologies. This page is still being written, so some of this information is not yet available. This page is for Tracker > 0.6 only (a lot of the principles and documentation here do not apply to 0.6.x).

What can I do?


Tracker is built around a common well-defined database schema or 'ontology' and it is worth understanding this schema on a basic level before anything else. There are two approaches to using Tracker:

  • Application developers: interested on querying the data in the store (and maybe updating few bits there)
  • Platform developers: interested on extending tracker adding new sources of data (miners) or supporting new file formats (extractors)

Data querying or updating:

Data mining:

  • libtracker-miner: Base classes with the basic functionality for miners and other common code. Write a miner inheriting from those classes and implementing just the specific functionality.

  • libtracker-control: Library for managing miners, including polling status and progress, pausing, resuming and more.

Ontologies which describe how the data is related (common for all the previous components):

Deprecated and no longer used (listed for historical reference):



W3C standard query language SPARQL standards (for updates and queries):

How to use SPARQL:



How Do Things Work?

Client Side

Server Side


Projects/Tracker/Documentation (last edited 2019-12-29 17:17:53 by SamThursfield)