## TrackerSparqlCursor TrackerSparqlCursor — Iteration of the query results |

## Stability Level

Stable, unless otherwise indicated

## Functions

TrackerSparqlConnection * | tracker_sparql_cursor_get_connection ()
gint | tracker_sparql_cursor_get_n_columns ()
const gchar * | tracker_sparql_cursor_get_string ()
gboolean | tracker_sparql_cursor_get_boolean ()
gdouble | tracker_sparql_cursor_get_double ()
gint64 | tracker_sparql_cursor_get_integer ()
TrackerSparqlValueType | tracker_sparql_cursor_get_value_type ()
const gchar * | tracker_sparql_cursor_get_variable_name ()
void | tracker_sparql_cursor_close ()
gboolean | tracker_sparql_cursor_is_bound ()
gboolean | tracker_sparql_cursor_next ()
void | tracker_sparql_cursor_next_async ()
gboolean | tracker_sparql_cursor_next_finish ()
void | tracker_sparql_cursor_rewind ()

## Properties

TrackerSparqlConnection * | connection | Read / Write
gint | n-columns | Read

## Types and Values

struct | TrackerSparqlCursor
enum | TrackerSparqlValueType

## Object Hierarchy

        GObject
        ╰── TrackerSparqlCursor

## Includes

    #include <tracker-sparql.h>

## Description

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

## Functions

### tracker_sparql_cursor_get_connection ()

    TrackerSparqlConnection *
    tracker_sparql_cursor_get_connection (TrackerSparqlCursor *self);

#### Parameters

self | a TrackerSparqlCursor |

#### Returns

the TrackerSparqlConnection associated with this TrackerSparqlCursor. The returned object must not be unreferenced by the caller.

Since: 0.10

### tracker_sparql_cursor_get_n_columns ()

    gint
    tracker_sparql_cursor_get_n_columns (TrackerSparqlCursor *self);

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

#### Parameters

self | a TrackerSparqlCursor |

#### Returns

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

Since: 0.10

### tracker_sparql_cursor_get_string ()

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

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

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |
length | length of the returned string |

#### Returns

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

Since: 0.10

### tracker_sparql_cursor_get_boolean ()

    gboolean
    tracker_sparql_cursor_get_boolean (TrackerSparqlCursor *self,
                                       gint column);

Retrieve a boolean for the current row in `column` .

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |

#### Returns

a gboolean.

Since: 0.10

### tracker_sparql_cursor_get_double ()

    gdouble
    tracker_sparql_cursor_get_double (TrackerSparqlCursor *self,
                                      gint column);

Retrieve a double for the current row in `column` .

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |

#### Returns

a double.

Since: 0.10

### tracker_sparql_cursor_get_integer ()

    gint64
    tracker_sparql_cursor_get_integer (TrackerSparqlCursor *self,
                                       gint column);

Retrieve an integer for the current row in `column` .

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |

#### Returns

a gint64.

Since: 0.10

### tracker_sparql_cursor_get_value_type ()

    TrackerSparqlValueType
    tracker_sparql_cursor_get_value_type (TrackerSparqlCursor *self,
                                          gint column);

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

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |

#### Returns

a TrackerSparqlValueType.

Since: 0.10

### tracker_sparql_cursor_get_variable_name ()

    const gchar *
    tracker_sparql_cursor_get_variable_name
                                   (TrackerSparqlCursor *self,
                                    gint column);

Retrieves the variable name for the current row in `column` .

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |

#### Returns

a string which must not be freed.

Since: 0.10

### tracker_sparql_cursor_close ()

    void
    tracker_sparql_cursor_close (TrackerSparqlCursor *self);

Closes the iterator, making it invalid.

#### Parameters

self | a TrackerSparqlCursor |

Since: 0.12

### tracker_sparql_cursor_is_bound ()

    gboolean
    tracker_sparql_cursor_is_bound (TrackerSparqlCursor *self,
                                    gint column);

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

#### Parameters

self | a TrackerSparqlCursor |
column | column number to retrieve (first one is 0) |

#### Returns

a `TRUE` or `FALSE`.

Since: 0.10

### tracker_sparql_cursor_next ()

    gboolean
    tracker_sparql_cursor_next (TrackerSparqlCursor *self,
                                GCancellable *cancellable,
                                GError **error);

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

#### Parameters

self | a TrackerSparqlCursor |
cancellable | a GCancellable used to cancel the operation |
error | GError for error reporting. |

#### Returns

`FALSE` if no more results found, otherwise `TRUE`.

Since: 0.10

### tracker_sparql_cursor_next_async ()

    void
    tracker_sparql_cursor_next_async (TrackerSparqlCursor *self,
                                      GCancellable *cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);

### tracker_sparql_cursor_next_finish ()

    gboolean
    tracker_sparql_cursor_next_finish (TrackerSparqlCursor *self,
                                       GAsyncResult *_res_,
                                       GError **error);

Finishes the asynchronous iteration to the next result.

#### Parameters

self | 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`.

Since: 0.10

### tracker_sparql_cursor_rewind ()

    void
    tracker_sparql_cursor_rewind (TrackerSparqlCursor *self);

Resets the iterator to point back to the first result.

#### Parameters

self | a TrackerSparqlCursor |

Since: 0.10

## Types and Values

### struct TrackerSparqlCursor

    struct TrackerSparqlCursor;

The TrackerSparqlCursor object represents an iterator of results.

### enum TrackerSparqlValueType

Enumeration with the possible types of the cursor's cells

#### Members

TRACKER_SPARQL_VALUE_TYPE_UNBOUND | Unbound value type |
TRACKER_SPARQL_VALUE_TYPE_URI | Uri value type, rdfs:Resource |
TRACKER_SPARQL_VALUE_TYPE_STRING | String value type, xsd:string |
TRACKER_SPARQL_VALUE_TYPE_INTEGER | Integer value type, xsd:integer |
TRACKER_SPARQL_VALUE_TYPE_DOUBLE | Double value type, xsd:double |
TRACKER_SPARQL_VALUE_TYPE_DATETIME | Datetime value type, xsd:dateTime |
TRACKER_SPARQL_VALUE_TYPE_BLANK_NODE | Blank node value type |
TRACKER_SPARQL_VALUE_TYPE_BOOLEAN | Boolean value type, xsd:boolean |

Since: 0.10

## Property Details

### The `“connection”` property

      “connection”               TrackerSparqlConnection *

The TrackerSparqlConnection used to retrieve the results.

Flags: Read / Write

Since: 0.10

### The `“n-columns”` property

      “n-columns”                gint

n-columns.

Flags: Read

Default value: 0