# TrackerSparqlCursor

TrackerSparqlCursor is an object which provides methods to iterate the results of a query to the Tracker Store.

It is possible to use a given TrackerSparqlCursor in other threads than the one it was created from. It must be however used from just one thread at any given time.

## TrackerSparqlCursor

    GObject
        ╰──TrackerSparqlCursor

The TrackerSparqlCursor object represents an iterator of results.

### Members

`parent_instance` (GObject) –
No description available

### Class structure

#### TrackerSparqlCursorClass

### Tracker.SparqlCursorClass

## Tracker.SparqlCursor

    GObject.Object
        ╰──Tracker.SparqlCursor

The TrackerSparqlCursor object represents an iterator of results.

### Members

`parent_instance` (GObject.Object) –
No description available

## Tracker.SparqlCursor

    GObject.Object
        ╰──Tracker.SparqlCursor

The TrackerSparqlCursor object represents an iterator of results.

### Members

`parent_instance` (GObject.Object) –
No description available

### Methods

#### tracker_sparql_cursor_close

    tracker_sparql_cursor_close (TrackerSparqlCursor * cursor)

Closes the iterator, making it invalid.

Parameters:

`cursor` –

a TrackerSparqlCursor

#### Tracker.SparqlCursor.prototype.close

    function Tracker.SparqlCursor.prototype.close(): {
        // javascript wrapper for 'tracker_sparql_cursor_close'
    }

Closes the iterator, making it invalid.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

#### Tracker.SparqlCursor.close

    def Tracker.SparqlCursor.close (self):
        #python wrapper for 'tracker_sparql_cursor_close'

Closes the iterator, making it invalid.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

#### tracker_sparql_cursor_get_boolean

    gboolean
    tracker_sparql_cursor_get_boolean (TrackerSparqlCursor * cursor,
                                       gint column)

Retrieve a boolean for the current row in column.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns –

a gboolean.

#### Tracker.SparqlCursor.prototype.get_boolean

    function Tracker.SparqlCursor.prototype.get_boolean(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_boolean'
    }

Retrieve a boolean for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (Number) –

a Number.

#### Tracker.SparqlCursor.get_boolean

    def Tracker.SparqlCursor.get_boolean (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_boolean'

Retrieve a boolean for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (bool) –

a bool.

#### tracker_sparql_cursor_get_connection

    TrackerSparqlConnection *
    tracker_sparql_cursor_get_connection (TrackerSparqlCursor * cursor)

Returns the TrackerSparqlConnection associated with this TrackerSparqlCursor.

Parameters:

`cursor` –

a TrackerSparqlCursor

Returns ( [transfer: none]) –

the cursor TrackerSparqlConnection. The returned object must not be unreferenced by the caller.

#### Tracker.SparqlCursor.prototype.get_connection

    function Tracker.SparqlCursor.prototype.get_connection(): {
        // javascript wrapper for 'tracker_sparql_cursor_get_connection'
    }

Returns the Tracker.SparqlConnection associated with this Tracker.SparqlCursor.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

Returns (Tracker.SparqlConnection) –

the cursor Tracker.SparqlConnection. The returned object must not be unreferenced by the caller.

#### Tracker.SparqlCursor.get_connection

    def Tracker.SparqlCursor.get_connection (self):
        #python wrapper for 'tracker_sparql_cursor_get_connection'

Returns the Tracker.SparqlConnection associated with this Tracker.SparqlCursor.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

Returns (Tracker.SparqlConnection) –

the cursor Tracker.SparqlConnection. The returned object must not be unreferenced by the caller.

#### tracker_sparql_cursor_get_datetime

    GDateTime *
    tracker_sparql_cursor_get_datetime (TrackerSparqlCursor * cursor,
                                        gint column)

Retrieve an GDateTime pointer for the current row in column.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns ( [transfer: full][nullable]) –

GDateTime object, or NULL if the given column does not contain a xsd:date or xsd:dateTime

Since : 3.2

#### Tracker.SparqlCursor.prototype.get_datetime

    function Tracker.SparqlCursor.prototype.get_datetime(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_datetime'
    }

Retrieve an GDateTime pointer for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (GLib.DateTime) –

GLib.DateTime object, or null if the given column does not contain a xsd:date or xsd:dateTime

Since : 3.2

#### Tracker.SparqlCursor.get_datetime

    def Tracker.SparqlCursor.get_datetime (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_datetime'

Retrieve an GDateTime pointer for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (GLib.DateTime) –

GLib.DateTime object, or None if the given column does not contain a xsd:date or xsd:dateTime

Since : 3.2

#### tracker_sparql_cursor_get_double

    gdouble
    tracker_sparql_cursor_get_double (TrackerSparqlCursor * cursor,
                                      gint column)

Retrieve a double for the current row in column.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns –

a double.

#### Tracker.SparqlCursor.prototype.get_double

    function Tracker.SparqlCursor.prototype.get_double(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_double'
    }

Retrieve a double for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (Number) –

a double.

#### Tracker.SparqlCursor.get_double

    def Tracker.SparqlCursor.get_double (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_double'

Retrieve a double for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (float) –

a double.

#### tracker_sparql_cursor_get_integer

    gint64
    tracker_sparql_cursor_get_integer (TrackerSparqlCursor * cursor,
                                       gint column)

Retrieve an integer for the current row in column.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns –

a gint64.

#### Tracker.SparqlCursor.prototype.get_integer

    function Tracker.SparqlCursor.prototype.get_integer(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_integer'
    }

Retrieve an integer for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (Number) –

a Number.

#### Tracker.SparqlCursor.get_integer

    def Tracker.SparqlCursor.get_integer (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_integer'

Retrieve an integer for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (int) –

a int.

#### tracker_sparql_cursor_get_n_columns

    gint
    tracker_sparql_cursor_get_n_columns (TrackerSparqlCursor * cursor)

This method should only be called after a successful tracker_sparql_cursor_next; otherwise its return value will be undefined.

Parameters:

`cursor` –

a TrackerSparqlCursor

Returns –

a gint representing the number of columns available in the results to iterate.

#### Tracker.SparqlCursor.prototype.get_n_columns

    function Tracker.SparqlCursor.prototype.get_n_columns(): {
        // javascript wrapper for 'tracker_sparql_cursor_get_n_columns'
    }

This method should only be called after a successful Tracker.SparqlCursor.prototype.next; otherwise its return value will be undefined.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

Returns (Number) –

a Number representing the number of columns available in the results to iterate.

#### Tracker.SparqlCursor.get_n_columns

    def Tracker.SparqlCursor.get_n_columns (self):
        #python wrapper for 'tracker_sparql_cursor_get_n_columns'

This method should only be called after a successful Tracker.SparqlCursor.next; otherwise its return value will be undefined.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

Returns (int) –

a int representing the number of columns available in the results to iterate.

#### tracker_sparql_cursor_get_string

    const gchar *
    tracker_sparql_cursor_get_string (TrackerSparqlCursor * cursor,
                                      gint column,
                                      glong * length)

Retrieves a string representation of the data in the current row in column.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

`length` ( [out][nullable]) –

length of the returned string, or NULL

Returns ( [nullable]) –

a string which must not be freed. NULL is returned if the column is not in the [0,#n_columns] range.

#### Tracker.SparqlCursor.prototype.get_string

    function Tracker.SparqlCursor.prototype.get_string(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_string'
    }

Retrieves a string representation of the data in the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns a tuple made of:

(String ) –

a string which must not be freed. null is returned if the column is not in the [0,#n_columns] range.

`length` (Number ) –

a string which must not be freed. null is returned if the column is not in the [0,#n_columns] range.

#### Tracker.SparqlCursor.get_string

    def Tracker.SparqlCursor.get_string (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_string'

Retrieves a string representation of the data in the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns a tuple made of:

(str ) –

a string which must not be freed. None is returned if the column is not in the [0,#n_columns] range.

`length` (int ) –

a string which must not be freed. None is returned if the column is not in the [0,#n_columns] range.

#### tracker_sparql_cursor_get_value_type

    TrackerSparqlValueType
    tracker_sparql_cursor_get_value_type (TrackerSparqlCursor * cursor,
                                          gint column)

The data type bound to the current row in column is returned.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns –

a TrackerSparqlValueType.

#### Tracker.SparqlCursor.prototype.get_value_type

    function Tracker.SparqlCursor.prototype.get_value_type(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_value_type'
    }

The data type bound to the current row in column is returned.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (Tracker.SparqlValueType) –

a Tracker.SparqlValueType.

#### Tracker.SparqlCursor.get_value_type

    def Tracker.SparqlCursor.get_value_type (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_value_type'

The data type bound to the current row in column is returned.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (Tracker.SparqlValueType) –

a Tracker.SparqlValueType.

#### tracker_sparql_cursor_get_variable_name

    const gchar *
    tracker_sparql_cursor_get_variable_name (TrackerSparqlCursor * cursor,
                                             gint column)

Retrieves the variable name for the current row in column.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns –

a string which must not be freed.

#### Tracker.SparqlCursor.prototype.get_variable_name

    function Tracker.SparqlCursor.prototype.get_variable_name(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_get_variable_name'
    }

Retrieves the variable name for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (String) –

a string which must not be freed.

#### Tracker.SparqlCursor.get_variable_name

    def Tracker.SparqlCursor.get_variable_name (self, column):
        #python wrapper for 'tracker_sparql_cursor_get_variable_name'

Retrieves the variable name for the current row in column.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (str) –

a string which must not be freed.

#### tracker_sparql_cursor_is_bound

    gboolean
    tracker_sparql_cursor_is_bound (TrackerSparqlCursor * cursor,
                                    gint column)

If the current row and column are bound to a value, TRUE is returned.

Parameters:

`cursor` –

a TrackerSparqlCursor

`column` –

column number to retrieve (first one is 0)

Returns –

a TRUE or FALSE.

#### Tracker.SparqlCursor.prototype.is_bound

    function Tracker.SparqlCursor.prototype.is_bound(column: Number): {
        // javascript wrapper for 'tracker_sparql_cursor_is_bound'
    }

If the current row and column are bound to a value, true is returned.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (Number) –

column number to retrieve (first one is 0)

Returns (Number) –

a true or false.

#### Tracker.SparqlCursor.is_bound

    def Tracker.SparqlCursor.is_bound (self, column):
        #python wrapper for 'tracker_sparql_cursor_is_bound'

If the current row and column are bound to a value, True is returned.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`column` (int) –

column number to retrieve (first one is 0)

Returns (bool) –

a True or False.

#### tracker_sparql_cursor_next

    gboolean
    tracker_sparql_cursor_next (TrackerSparqlCursor * cursor,
                                GCancellable * cancellable,
                                GError ** error)

Iterates to the next result. This is completely synchronous and it may block.

Parameters:

`cursor` –

a TrackerSparqlCursor

`cancellable` –

a GCancellable used to cancel the operation

`error` –

GError for error reporting.

Returns –

FALSE if no more results found, otherwise TRUE.

#### Tracker.SparqlCursor.prototype.next

    function Tracker.SparqlCursor.prototype.next(cancellable: Gio.Cancellable): {
        // javascript wrapper for 'tracker_sparql_cursor_next'
    }

Iterates to the next result. This is completely synchronous and it may block.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`cancellable` (Gio.Cancellable) –

a Gio.Cancellable used to cancel the operation

Returns (Number) –

false if no more results found, otherwise true.

#### Tracker.SparqlCursor.next

    @raises(GLib.GError)
    def Tracker.SparqlCursor.next (self, cancellable):
        #python wrapper for 'tracker_sparql_cursor_next'

Iterates to the next result. This is completely synchronous and it may block.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`cancellable` (Gio.Cancellable) –

a Gio.Cancellable used to cancel the operation

Returns (bool) –

False if no more results found, otherwise True.

#### tracker_sparql_cursor_next_async

    tracker_sparql_cursor_next_async (TrackerSparqlCursor * cursor,
                                      GCancellable * cancellable,
                                      GAsyncReadyCallback callback,
                                      gpointer user_data)

Iterates, asynchronously, to the next result.

Parameters:

`cursor` –

a TrackerSparqlCursor

`cancellable` –

a GCancellable used to cancel the operation

`callback` –

user-defined GAsyncReadyCallback to be called when asynchronous operation is finished.

`user_data` –

user-defined data to be passed to callback

#### Tracker.SparqlCursor.prototype.next_async

    function Tracker.SparqlCursor.prototype.next_async(cancellable: Gio.Cancellable, callback: Gio.AsyncReadyCallback, user_data: Object): {
        // javascript wrapper for 'tracker_sparql_cursor_next_async'
    }

Iterates, asynchronously, to the next result.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`cancellable` (Gio.Cancellable) –

a Gio.Cancellable used to cancel the operation

`callback` (Gio.AsyncReadyCallback) –

user-defined Gio.AsyncReadyCallback to be called when asynchronous operation is finished.

`user_data` (Object) –

user-defined data to be passed to callback

#### Tracker.SparqlCursor.next_async

    def Tracker.SparqlCursor.next_async (self, cancellable, callback, *user_data):
        #python wrapper for 'tracker_sparql_cursor_next_async'

Iterates, asynchronously, to the next result.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`cancellable` (Gio.Cancellable) –

a Gio.Cancellable used to cancel the operation

`callback` (Gio.AsyncReadyCallback) –

user-defined Gio.AsyncReadyCallback to be called when asynchronous operation is finished.

`user_data` (variadic) –

user-defined data to be passed to callback

#### tracker_sparql_cursor_next_finish

    gboolean
    tracker_sparql_cursor_next_finish (TrackerSparqlCursor * cursor,
                                       GAsyncResult * res,
                                       GError ** error)

Finishes the asynchronous iteration to the next result.

Parameters:

`cursor` –

a TrackerSparqlCursor

`res` –

a GAsyncResult with the result of the operation

`error` –

GError for error reporting.

Returns –

FALSE if no more results found, otherwise TRUE.

#### Tracker.SparqlCursor.prototype.next_finish

    function Tracker.SparqlCursor.prototype.next_finish(res: Gio.AsyncResult): {
        // javascript wrapper for 'tracker_sparql_cursor_next_finish'
    }

Finishes the asynchronous iteration to the next result.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`res` (Gio.AsyncResult) –

a Gio.AsyncResult with the result of the operation

Returns (Number) –

false if no more results found, otherwise true.

#### Tracker.SparqlCursor.next_finish

    @raises(GLib.GError)
    def Tracker.SparqlCursor.next_finish (self, res):
        #python wrapper for 'tracker_sparql_cursor_next_finish'

Finishes the asynchronous iteration to the next result.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

`res` (Gio.AsyncResult) –

a Gio.AsyncResult with the result of the operation

Returns (bool) –

False if no more results found, otherwise True.

#### tracker_sparql_cursor_rewind

    tracker_sparql_cursor_rewind (TrackerSparqlCursor * cursor)

Resets the iterator to point back to the first result.

Parameters:

`cursor` –

a TrackerSparqlCursor

#### Tracker.SparqlCursor.prototype.rewind

    function Tracker.SparqlCursor.prototype.rewind(): {
        // javascript wrapper for 'tracker_sparql_cursor_rewind'
    }

Resets the iterator to point back to the first result.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

#### Tracker.SparqlCursor.rewind

    def Tracker.SparqlCursor.rewind (self):
        #python wrapper for 'tracker_sparql_cursor_rewind'

Resets the iterator to point back to the first result.

Parameters:

`cursor` (Tracker.SparqlCursor) –

a Tracker.SparqlCursor

### Properties

#### connection

    “connection” TrackerSparqlConnection *

The TrackerSparqlConnection used to retrieve the results.

Flags : Read / Write / Construct Only

#### connection

    “connection” Tracker.SparqlConnection

The Tracker.SparqlConnection used to retrieve the results.

Flags : Read / Write / Construct Only

#### connection

    “self.props.connection” Tracker.SparqlConnection

The Tracker.SparqlConnection used to retrieve the results.

Flags : Read / Write / Construct Only

#### n-columns

    “n-columns” gint

Flags : Read

#### n-columns

    “n-columns” Number

Flags : Read

#### n_columns

    “self.props.n_columns” int

Flags : Read

## Enumerations

### TrackerSparqlValueType

Enumeration with the possible types of the cursor's cells

##### Members

`TRACKER_SPARQL_VALUE_TYPE_UNBOUND` (0) –

Unbound value type

`TRACKER_SPARQL_VALUE_TYPE_URI` (1) –

Uri value type, rdfs:Resource

`TRACKER_SPARQL_VALUE_TYPE_STRING` (2) –

String value type, xsd:string

`TRACKER_SPARQL_VALUE_TYPE_INTEGER` (3) –

Integer value type, xsd:integer

`TRACKER_SPARQL_VALUE_TYPE_DOUBLE` (4) –

Double value type, xsd:double

`TRACKER_SPARQL_VALUE_TYPE_DATETIME` (5) –

Datetime value type, xsd:dateTime

`TRACKER_SPARQL_VALUE_TYPE_BLANK_NODE` (6) –

Blank node value type

`TRACKER_SPARQL_VALUE_TYPE_BOOLEAN` (7) –

Boolean value type, xsd:boolean

### Tracker.SparqlValueType

Enumeration with the possible types of the cursor's cells

##### Members

`Tracker.SparqlValueType.UNBOUND` (0) –

Unbound value type

`Tracker.SparqlValueType.URI` (1) –

Uri value type, rdfs:Resource

`Tracker.SparqlValueType.STRING` (2) –

String value type, xsd:string

`Tracker.SparqlValueType.INTEGER` (3) –

Integer value type, xsd:integer

`Tracker.SparqlValueType.DOUBLE` (4) –

Double value type, xsd:double

`Tracker.SparqlValueType.DATETIME` (5) –

Datetime value type, xsd:dateTime

`Tracker.SparqlValueType.BLANK_NODE` (6) –

Blank node value type

`Tracker.SparqlValueType.BOOLEAN` (7) –

Boolean value type, xsd:boolean

### Tracker.SparqlValueType

Enumeration with the possible types of the cursor's cells

##### Members

`Tracker.SparqlValueType.UNBOUND` (0) –

Unbound value type

`Tracker.SparqlValueType.URI` (1) –

Uri value type, rdfs:Resource

`Tracker.SparqlValueType.STRING` (2) –

String value type, xsd:string

`Tracker.SparqlValueType.INTEGER` (3) –

Integer value type, xsd:integer

`Tracker.SparqlValueType.DOUBLE` (4) –

Double value type, xsd:double

`Tracker.SparqlValueType.DATETIME` (5) –

Datetime value type, xsd:dateTime

`Tracker.SparqlValueType.BLANK_NODE` (6) –

Blank node value type

`Tracker.SparqlValueType.BOOLEAN` (7) –

Boolean value type, xsd:boolean

## Constants

### TRACKER_SPARQL_TYPE_CURSOR

    #define TRACKER_SPARQL_TYPE_CURSOR TRACKER_TYPE_SPARQL_CURSOR

### TRACKER_TYPE_SPARQL_CURSOR

    #define TRACKER_TYPE_SPARQL_CURSOR tracker_sparql_cursor_get_type ()

The results of the search are