Tracker – 3.0
Description: Reference for Tracker-3.0

### Namespace

# Tracker – 3.0

Low-footprint RDF triple store with SPARQL 1.1 interface

Version | 3.6.0
Authors | Tracker Development Team
License | GPL-2.1-or-later
Website | https://tracker.gnome.org/
Source | https://gitlab.gnome.org/GNOME/tracker/

#### Build

C headers | `libtracker-sparql/tracker-sparql.h`
pkg-config files | `tracker-sparql-3.0`

#### Dependencies

GObject—2.0 | The base type system library
| Browse documentation
Gio—2.0 | GObject Interfaces and Objects, Networking, IPC, and I/O
| Browse documentation

#### Additional documentation

- Overview
- Examples
- SPARQL Tutorial
- Sandboxing and portals
- Ontologies
- Builtin SPARQL functions
- SPARQL as understood by Tracker
- Implementation limits
- Performance dos and donts
- Security considerations
- Migrating from 2.x to 3.0
- XML schema (XSD)
- Resource Description Framework (RDF)
- RDF Schema (RDFS)
- Nepomuk Resource Language (NRL)
- Dublin Core metadata (DC)
- Nepomuk Information Element (NIE)
- Nepomuk Annotation Ontology (NAO)
- Nepomuk Contacts Ontology (NCO)
- Nepomuk File Ontology (NFO)
- Nepomuk MultiMedia (NMM)
- Maemo Feeds Ontology (MFO)
- Tracker-specific annotations Ontology
- Simplified Maemo Location Ontology (SLO)
- libosinfo-specific annotations Ontology
- Classes Hierarchy

#### Classes

Batch | `TrackerBatch` executes a series of SPARQL updates and RDF data insertions within a transaction. since: 3.1
Endpoint | `TrackerEndpoint` is a helper object to make RDF triple stores represented by a `TrackerSparqlConnection` publicly available to other processes/hosts.
EndpointDBus | `TrackerEndpointDBus` makes the RDF data in a `TrackerSparqlConnection` accessible to other processes via DBus.
EndpointHttp | `TrackerEndpointHttp` makes the RDF data in a `TrackerSparqlConnection` accessible to other hosts via HTTP. since: 3.1
NamespaceManager | `TrackerNamespaceManager` object represents a mapping between namespaces and their shortened prefixes.
Notifier | `TrackerNotifier` allows receiving notification on changes in the data stored by a `TrackerSparqlConnection`.
Resource | `TrackerResource` is an in-memory representation of RDF data about a given resource.
SparqlConnection | `TrackerSparqlConnection` holds a connection to a RDF triple store.
SparqlCursor | `TrackerSparqlCursor` provides the methods to iterate the results of a SPARQL query.
SparqlStatement | `TrackerSparqlStatement` represents a prepared statement for a SPARQL query.

#### Structs

NotifierEvent | The TrackerNotifierEvent struct represents a change event in the stored data.

#### Enumerations

DeserializeFlags | Flags affecting deserialization from a RDF data format.
NotifierEventType | Notifier event types.
RdfFormat | Describes a RDF format to be used in data exchange.
SerializeFlags | Flags affecting serialization into a RDF data format.
SparqlValueType | Enumeration with the possible types of the cursor’s cells.

#### Bitfields

SparqlConnectionFlags | Connection flags to modify `TrackerSparqlConnection` behavior.

#### Error Domains

SparqlError | Error domain for Tracker Sparql. Errors in this domain will be from the `TrackerSparqlError` enumeration. See `GError` for more information on error domains.

#### Functions

check_version | Checks that the Tracker library in use is compatible with the given version.
sparql_escape_string | Escapes `literal` so it is suitable for insertion in SPARQL queries as string literals.
sparql_escape_uri | Escapes a string for use as a URI.
sparql_escape_uri_printf | Formats and escapes a string for use as a URI. This function takes variadic arguments.
sparql_escape_uri_vprintf | Formats and escapes a string for use as a URI. This function takes a `va_list`.
sparql_get_ontology_nepomuk | Returns a path to the built-in Nepomuk ontologies.
sparql_get_uuid_urn | Creates a fresh UUID-based URN.

#### Function Macros

CHECK_VERSION | This macro essentially does the same thing as `tracker_check_version()` but as a pre-processor operation rather than a run-time operation. It will evaluate true or false based the version passed in and the version available.

#### Constants

MAJOR_VERSION | The major version of the Tracker library.
MICRO_VERSION | The micro version of the Tracker library.
MINOR_VERSION | The minor version of the Tracker library.
PREFIX_DC | The Prefix of the DC (Dublin Core) namespace.
PREFIX_MFO | The Prefix of the MFO namespace.
PREFIX_NAO | The Prefix of the NAO namespace.
PREFIX_NCO | The Prefix of the NCO namespace.
PREFIX_NFO | The Prefix of the NFO namespace.
PREFIX_NIE | The Prefix of the NIE namespace.
PREFIX_NMM | The Prefix of the RDF namespace.
PREFIX_NRL | The Prefix of the NRL namespace.
PREFIX_OSINFO | The Prefix of the Osinfo namespace.
PREFIX_RDF | The Prefix of the RDF namespace.
PREFIX_RDFS | The Prefix of the RDFS namespace.
PREFIX_SLO | The Prefix of the SLO namespace.
PREFIX_TRACKER | The Prefix of the Tracker namespace.
PREFIX_XSD | The Prefix of the XSD namespace.