Class

TrackerSparqlStatement

Description [src]

abstract class Tracker.SparqlStatement : GObject.Object
{
  /* No available fields */
}

TrackerSparqlStatement represents a prepared statement for a SPARQL query.

The SPARQL query will be internally compiled into the format that is most optimal to execute the query many times. For connections created through tracker_sparql_connection_new() that will be a SQLite compiled statement.

The SPARQL query may contain parameterized variables expressed via the ~ prefix in the SPARQL syntax (e.g. ~var), these may happen anywhere in the SPARQL where a literal or variable would typically happen. These parameterized variables may be mapped to arbitrary values prior to execution. The TrackerSparqlStatement may be reused for future queries with different values.

The argument bindings may be changed through the tracker_sparql_statement_bind_int(), tracker_sparql_statement_bind_int(), etc… family of functions. Those functions receive a name argument corresponding for the variable name in the SPARQL query (eg. "var" for ~var) and a value to map the variable to.

Once all arguments have a value, the query may be executed through tracker_sparql_statement_execute_async() or tracker_sparql_statement_execute().

It is possible to use any TrackerSparqlStatement from other threads than the one it was created from. However, binding values and executing the statement must only happen from one thread at a time. It is possible to reuse the TrackerSparqlStatement right after tracker_sparql_statement_execute_async() was called, there is no need to wait for tracker_sparql_statement_execute_finish().

In some circumstances, it is possible that the query needs to be recompiled from the SPARQL source. This will happen transparently.

Ancestors

Instance methods

tracker_sparql_statement_bind_boolean

Binds the boolean value to the parameterized variable given by name.

tracker_sparql_statement_bind_datetime

Binds the GDateTime value to the parameterized variable given by name.

since: 3.2

tracker_sparql_statement_bind_double

Binds the double value to the parameterized variable given by name.

tracker_sparql_statement_bind_int

Binds the integer value to the parameterized variable given by name.

tracker_sparql_statement_bind_langstring

Binds the value to the parameterized variable given by name, tagged with the language defined by langtag. The language tag should follow RFC 5646. The parameter will be represented as a rdf:langString.

since: 3.7

tracker_sparql_statement_bind_string

Binds the string value to the parameterized variable given by name.

tracker_sparql_statement_execute

Executes the SELECT or ASK SPARQL query with the currently bound values.

tracker_sparql_statement_execute_async

Executes asynchronously the SELECT or ASK SPARQL query with the currently bound values.

tracker_sparql_statement_execute_finish

Finishes the asynchronous operation started through tracker_sparql_statement_execute_async().

tracker_sparql_statement_get_connection

Returns the TrackerSparqlConnection that this statement was created for.

tracker_sparql_statement_get_sparql

Returns the SPARQL string that this prepared statement holds.

tracker_sparql_statement_serialize_async

Serializes a DESCRIBE or CONSTRUCT query into the given RDF format.

since: 3.3

tracker_sparql_statement_serialize_finish

Finishes the asynchronous operation started through tracker_sparql_statement_serialize_async().

since: 3.3

tracker_sparql_statement_update

Executes the INSERT/DELETE SPARQL query series with the currently bound values.

since: 3.5

tracker_sparql_statement_update_async

Executes asynchronously the INSERT/DELETE SPARQL query series with the currently bound values.

since: 3.5

tracker_sparql_statement_update_finish

Finishes the asynchronous update started through tracker_sparql_statement_update_async().

since: 3.5

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Properties

Tracker.SparqlStatement:connection

The TrackerSparqlConnection the statement was created for.

Tracker.SparqlStatement:sparql

SPARQL query stored in this statement.

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Class structure

struct TrackerSparqlStatementClass {
  /* no available fields */
}

No description available.