The documentation for Tracker 3 is found on the Tracker 3 website. This page is preserved as a reference for older versions.
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:
https://gnome.pages.gitlab.gnome.org/tracker/docs/api-preview/libtracker-sparql-3/: GObject-oriented library to access tracker data.
Ontologies which describe how the data is related (common for all the previous components):
Application developers manual: How data is related and what you should know as an application developer using Tracker.
Supported changes: required knowledge when migrating your database schema with updates.
W3C standard query language SPARQL standards (for updates and queries):
Supported SPARQL Features and Extensions: Tracker specific functions that can be used in the SPARQL queries.
Internal SPARQL Features: Tracker specific internal properties and features that can be used in SPARQL queries.
How to use SPARQL:
Introducing RDF & SPARQL: Examples of how you can make simple queries.
Advanced RDF & SPARQL: Examples of how you can make more complex queries.
Efficient queries: Dos and don'ts.
INSERT: How transactions are handled and how to do it sync/asynchronously.
INSERT OR REPLACE: How to use Tracker's INSERT OR REPLACE extension.
Related projects: other projects interacting or extending tracker
How Do Things Work?
Busy handling (for the Store, i.e. while replying a journal)