## Utilities Utilities — General purpose utilities provided by the library |

## Stability Level

Stable, unless otherwise indicated

## Functions

gchar * | tracker_sparql_get_uuid_urn ()
gchar * | tracker_sparql_escape_string ()
gchar * | tracker_sparql_escape_uri ()
gchar * | tracker_sparql_escape_uri_printf ()
gchar * | tracker_sparql_escape_uri_vprintf ()

## Includes

    #include <tracker-sparql.h>

## Description

The libtracker-sparql utilities help in the creation of proper SPARQL queries.

## Functions

### tracker_sparql_get_uuid_urn ()

    gchar *
    tracker_sparql_get_uuid_urn (void);

Generates a unique universal identifier to be used for urns when inserting SPARQL into the database. The string returned is in lower case and has the format "urn:uuid:%s" where %s is the uuid generated.

#### Returns

a newly-allocated string. The returned string should be freed with `g_free()` when no longer needed.

Since: 0.10

### tracker_sparql_escape_string ()

    gchar *
    tracker_sparql_escape_string (const gchar *literal);

Escapes a string so that it can be used in a SPARQL query.

#### Parameters

literal | a string to escape |

#### Returns

a newly-allocated string with the escaped version of `literal` . The returned string should be freed with `g_free()` when no longer needed.

Since: 0.10

### tracker_sparql_escape_uri ()

    gchar *
    tracker_sparql_escape_uri (const gchar *uri);

Calls `tracker_sparql_escape_uri_printf()`.

#### Parameters

uri | a string to be escaped, following the tracker sparql rules |

#### Returns

a newly-allocated string holding the result. The returned string should be freed with `g_free()` when no longer needed.

[transfer full]

Since: 1.12

### tracker_sparql_escape_uri_printf ()

    gchar *
    tracker_sparql_escape_uri_printf (const gchar *format,
                                      ...);

Calls `tracker_sparql_escape_uri_vprintf()` with the @... supplied.

#### Parameters

format | a standard `printf()` format string, but notice string precision pitfalls documented in `g_strdup_printf()` |
... | the parameters to insert into the format string |

#### Returns

a newly-allocated string holding the result.The returned string should be freed with `g_free()` when no longer needed.

[transfer full]

Since: 0.10

### tracker_sparql_escape_uri_vprintf ()

    gchar *
    tracker_sparql_escape_uri_vprintf (const gchar *format,
                                       va_list args);

Similar to the standard C `vsprintf()` function but safer, since it calculates the maximum space required and allocates memory to hold the result.

The result is escaped using `g_uri_escape_string()`.

#### Parameters

format | a standard `printf()` format string, but notice string precision pitfalls documented in `g_strdup_printf()` |
args | the list of parameters to insert into the format string |

#### Returns

a newly-allocated string holding the result. The returned string should be freed with `g_free()` when no longer needed.

[transfer full]

Since: 0.10

## Types and Values