Declaration [src]

tracker_sparql_connection_new (
  TrackerSparqlConnectionFlags flags,
  GFile* store,
  GFile* ontology,
  GCancellable* cancellable,
  GError** error

Description [src]

Creates or opens a process-local database.

This method should only be used for databases owned by the current process. To connect to databases managed by other processes, use tracker_sparql_connection_bus_new().

If store is NULL, the database will be created in memory.

If defined, the ontology argument must point to a location containing suitable .ontology files in Turtle format. These define the structure of the triple store. You can learn more about ontologies, or you can use the stock Nepomuk ontologies by calling tracker_sparql_get_ontology_nepomuk().

If opening an existing database, it is possible to pass NULL as the ontology location, the ontology will be introspected from the database. Passing a NULL ontology will raise an error if the database does not exist.

If a database is opened without the #TRACKER_SPARQL_CONNECTION_FLAG_READONLY flag enabled, and the given ontology holds differences with the current data layout, migration to the new structure will be attempted. This operation may raise an error. In particular, not all migrations are possible without causing data loss and Tracker will refuse to delete data during a migration. The database is always left in a consistent state, either prior or posterior to migration.

It is considered a developer error to ship ontologies that contain format errors, or that fail at migrations.

It is encouraged to use resource:/// URI locations for ontology wherever possible, so the triple store structure is tied to the executable binary, and in order to minimize disk seeks during TrackerSparqlConnection initialization.



Type: TrackerSparqlConnectionFlags

Connection flags to define the SPARQL connection behavior.


Type: GFile

The directory that contains the database as a GFile, or NULL.

The argument can be NULL.
The data is owned by the caller of the function.

Type: GFile

The directory that contains the database schemas as a GFile, or NULL.

The argument can be NULL.
The data is owned by the caller of the function.

Type: GCancellable

Optional GCancellable

The argument can be NULL.
The data is owned by the caller of the function.

Type: GError **

The return location for a recoverable error.

The argument can be NULL.
If the return location is not NULL, then you must initialize it to a NULL GError*.
The argument will left initialized to NULL by the constructor if there are no errors.
In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.

Return value

Type: TrackerSparqlConnection

A new TrackerSparqlConnection.

The caller of the function takes ownership of the data, and is responsible for freeing it.