<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <package name="tracker-sparql-3.0"/>
  <c:include name="libtracker-sparql/tracker-sparql.h"/>
  <doc:format name="unknown"/>
  <namespace name="Tracker"
             version="3.0"
             shared-library="libtracker-sparql-3.0.so.0"
             c:identifier-prefixes="Tracker"
             c:symbol-prefixes="tracker">
    <class name="Batch"
           c:symbol-prefix="batch"
           c:type="TrackerBatch"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="TrackerBatch"
           glib:get-type="tracker_batch_get_type"
           glib:type-struct="BatchClass">
      <source-position filename="src/libtracker-sparql/tracker-batch.h"
                       line="37"/>
      <method name="add_resource"
              c:identifier="tracker_batch_add_resource"
              version="3.1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="189">Adds the RDF represented by @resource to @batch.</doc>
        <source-position filename="src/libtracker-sparql/tracker-batch.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="batch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="191">a #TrackerBatch</doc>
            <type name="Batch" c:type="TrackerBatch*"/>
          </instance-parameter>
          <parameter name="graph" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="192">RDF graph to insert the resource to</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="193">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_sparql"
              c:identifier="tracker_batch_add_sparql"
              version="3.1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="167">Adds an SPARQL update string to @batch.</doc>
        <source-position filename="src/libtracker-sparql/tracker-batch.h"
                         line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="batch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="169">a #TrackerBatch</doc>
            <type name="Batch" c:type="TrackerBatch*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="170">a SPARQL update string</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute"
              c:identifier="tracker_batch_execute"
              version="3.1"
              throws="1"
              glib:async-func="execute_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="213">Executes the batch. This operations happens synchronously.</doc>
        <source-position filename="src/libtracker-sparql/tracker-batch.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-batch.c"
               line="221">%TRUE of there were no errors, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="batch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="215">a #TrackerBatch</doc>
            <type name="Batch" c:type="TrackerBatch*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="216">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute_async"
              c:identifier="tracker_batch_execute_async"
              version="3.1"
              glib:finish-func="execute_finish"
              glib:sync-func="execute">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="241">Executes the batch. This operation happens asynchronously, when
finished @callback will be executed.</doc>
        <source-position filename="src/libtracker-sparql/tracker-batch.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="batch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="243">a #TrackerBatch</doc>
            <type name="Batch" c:type="TrackerBatch*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="244">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="245">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="247">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute_finish"
              c:identifier="tracker_batch_execute_finish"
              version="3.1"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="271">Finishes the operation started with tracker_batch_execute_async().</doc>
        <source-position filename="src/libtracker-sparql/tracker-batch.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-batch.c"
               line="279">%TRUE of there were no errors, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="batch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="273">a #TrackerBatch</doc>
            <type name="Batch" c:type="TrackerBatch*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="274">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_connection"
              c:identifier="tracker_batch_get_connection"
              glib:get-property="connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="149">Returns the #TrackerSparqlConnection that this batch was created from.</doc>
        <source-position filename="src/libtracker-sparql/tracker-batch.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-batch.c"
               line="155">The SPARQL connection of this batch.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="batch" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-batch.c"
                 line="151">a #TrackerBatch</doc>
            <type name="Batch" c:type="TrackerBatch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-batch.c"
             line="131">The #TrackerSparqlConnection the batch belongs to.</doc>
        <type name="SparqlConnection"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="BatchClass"
            c:type="TrackerBatchClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Batch">
      <source-position filename="src/libtracker-sparql/tracker-batch.h"
                       line="37"/>
    </record>
    <function-macro name="CHECK_VERSION"
                    c:identifier="TRACKER_CHECK_VERSION"
                    introspectable="0">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-version.h"
           line="117">This macro essentially does the same thing as
tracker_check_version() but as a pre-processor operation rather
than a run-time operation. It will evaluate true or false based the
version passed in and the version available.

&lt;example&gt;
&lt;title&gt;Simple version check example&lt;/title&gt;
An example of how to make sure you have the version of Tracker
installed to run your code.
&lt;programlisting&gt;
if (!TRACKER_CHECK_VERSION (0, 10, 7)) {
        g_error ("Tracker version 0.10.7 or above is needed");
}
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
      <source-position filename="src/libtracker-sparql/tracker-version.h"
                       line="139"/>
      <parameters>
        <parameter name="major">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-version.h"
               line="119">the required major version.</doc>
        </parameter>
        <parameter name="minor">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-version.h"
               line="120">the required minor version.</doc>
        </parameter>
        <parameter name="micro">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-version.h"
               line="121">the required micro version.</doc>
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DEPRECATED_IN_3_1_FOR"
                    c:identifier="TRACKER_DEPRECATED_IN_3_1_FOR"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-version.h"
                       line="60"/>
      <parameters>
        <parameter name="f">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENDPOINT_DBUS"
                    c:identifier="TRACKER_ENDPOINT_DBUS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
                       line="35"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENDPOINT_DBUS_CLASS"
                    c:identifier="TRACKER_ENDPOINT_DBUS_CLASS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
                       line="36"/>
      <parameters>
        <parameter name="c">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENDPOINT_DBUS_GET_CLASS"
                    c:identifier="TRACKER_ENDPOINT_DBUS_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
                       line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENDPOINT_HTTP"
                    c:identifier="TRACKER_ENDPOINT_HTTP"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-http.h"
                       line="35"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENDPOINT_HTTP_CLASS"
                    c:identifier="TRACKER_ENDPOINT_HTTP_CLASS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-http.h"
                       line="36"/>
      <parameters>
        <parameter name="c">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENDPOINT_HTTP_GET_CLASS"
                    c:identifier="TRACKER_ENDPOINT_HTTP_GET_CLASS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-http.h"
                       line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Endpoint"
           c:symbol-prefix="endpoint"
           c:type="TrackerEndpoint"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="TrackerEndpoint"
           glib:get-type="tracker_endpoint_get_type"
           glib:type-struct="EndpointClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-endpoint.h"
           line="35">The &lt;structname&gt;TrackerEndpoint&lt;/structname&gt; object represents a public
connection to a #TrackerSparqlConnection.</doc>
      <source-position filename="src/libtracker-sparql/tracker-endpoint.h"
                       line="43"/>
      <method name="get_sparql_connection"
              c:identifier="tracker_endpoint_get_sparql_connection"
              glib:get-property="sparql-connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-endpoint.c"
             line="133">Returns the #TrackerSparqlConnection that this endpoint proxies.</doc>
        <source-position filename="src/libtracker-sparql/tracker-endpoint.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-endpoint.c"
               line="139">The proxied SPARQL connection</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="endpoint" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint.c"
                 line="135">a #TrackerEndpoint</doc>
            <type name="Endpoint" c:type="TrackerEndpoint*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="sparql-connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_sparql_connection">
        <type name="SparqlConnection"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="EndpointClass"
            c:type="TrackerEndpointClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Endpoint">
      <source-position filename="src/libtracker-sparql/tracker-endpoint.h"
                       line="43"/>
    </record>
    <class name="EndpointDBus"
           c:symbol-prefix="endpoint_dbus"
           c:type="TrackerEndpointDBus"
           parent="Endpoint"
           glib:type-name="TrackerEndpointDBus"
           glib:get-type="tracker_endpoint_dbus_get_type">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
           line="41">The &lt;structname&gt;TrackerEndpointDBus&lt;/structname&gt; object represents a public
connection to a #TrackerSparqlConnection on a DBus object path.</doc>
      <implements name="Gio.Initable"/>
      <constructor name="new"
                   c:identifier="tracker_endpoint_dbus_new"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-endpoint-dbus.c"
             line="898">Registers a Tracker endpoint object at @object_path on @dbus_connection.
The default object path is "/org/freedesktop/Tracker3/Endpoint".</doc>
        <source-position filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
                         line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-endpoint-dbus.c"
               line="909">a #TrackerEndpointDBus object.</doc>
          <type name="EndpointDBus" c:type="TrackerEndpointDBus*"/>
        </return-value>
        <parameters>
          <parameter name="sparql_connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-dbus.c"
                 line="900">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </parameter>
          <parameter name="dbus_connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-dbus.c"
                 line="901">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-dbus.c"
                 line="902">the object path to use, or %NULL for the default</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-dbus.c"
                 line="903">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="dbus-connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.DBusConnection"/>
      </property>
      <property name="object-path"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
    </class>
    <class name="EndpointHttp"
           c:symbol-prefix="endpoint_http"
           c:type="TrackerEndpointHttp"
           parent="Endpoint"
           glib:type-name="TrackerEndpointHttp"
           glib:get-type="tracker_endpoint_http_get_type">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-endpoint-http.h"
           line="41">The &lt;structname&gt;TrackerEndpointHttp&lt;/structname&gt; object represents a public
connection to a #TrackerSparqlConnection on a HTTP port.</doc>
      <implements name="Gio.Initable"/>
      <constructor name="new"
                   c:identifier="tracker_endpoint_http_new"
                   version="3.1"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-endpoint-http.c"
             line="384">Sets up a Tracker endpoint to listen via HTTP, in the given @port.
If @certificate is not %NULL, HTTPS may be used to connect to the
endpoint.</doc>
        <source-position filename="src/libtracker-sparql/tracker-endpoint-http.h"
                         line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-endpoint-http.c"
               line="396">a #TrackerEndpointDBus object.</doc>
          <type name="EndpointHttp" c:type="TrackerEndpointHttp*"/>
        </return-value>
        <parameters>
          <parameter name="sparql_connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-http.c"
                 line="386">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </parameter>
          <parameter name="port" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-http.c"
                 line="387">HTTP port to listen to</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="certificate"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-http.c"
                 line="388">certificate to use for encription, or %NULL</doc>
            <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-http.c"
                 line="389">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="http-certificate"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.TlsCertificate"/>
      </property>
      <property name="http-port"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="8080">
        <type name="guint" c:type="guint"/>
      </property>
      <glib:signal name="block-remote-address">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-endpoint-http.c"
             line="343">Allows control over the connections stablished. The given
address is that of the requesting peer.

Returning %FALSE in this handler allows the connection,
returning %TRUE blocks it. The default with no signal
handlers connected is %FALSE.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="address" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-endpoint-http.c"
                 line="346">The socket address of the remote connection</doc>
            <type name="Gio.SocketAddress"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <function-macro name="IS_ENDPOINT_DBUS"
                    c:identifier="TRACKER_IS_ENDPOINT_DBUS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
                       line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ENDPOINT_DBUS_CLASS"
                    c:identifier="TRACKER_IS_ENDPOINT_DBUS_CLASS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-dbus.h"
                       line="38"/>
      <parameters>
        <parameter name="c">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ENDPOINT_HTTP"
                    c:identifier="TRACKER_IS_ENDPOINT_HTTP"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-http.h"
                       line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ENDPOINT_HTTP_CLASS"
                    c:identifier="TRACKER_IS_ENDPOINT_HTTP_CLASS"
                    introspectable="0">
      <source-position filename="src/libtracker-sparql/tracker-endpoint-http.h"
                       line="38"/>
      <parameters>
        <parameter name="c">
        </parameter>
      </parameters>
    </function-macro>
    <class name="NamespaceManager"
           c:symbol-prefix="namespace_manager"
           c:type="TrackerNamespaceManager"
           parent="GObject.Object"
           glib:type-name="TrackerNamespaceManager"
           glib:get-type="tracker_namespace_manager_get_type"
           glib:type-struct="NamespaceManagerClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-namespace-manager.h"
           line="33">The &lt;structname&gt;TrackerNamespaceManager&lt;/structname&gt; object represents a
mapping of prefixes and namespaces.</doc>
      <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                       line="41"/>
      <constructor name="new" c:identifier="tracker_namespace_manager_new">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="96">Creates a new #TrackerNamespaceManager instance.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-namespace-manager.c"
               line="101">a new #TrackerNamespaceManager instance</doc>
          <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="tracker_namespace_manager_get_default">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="113">Returns the global #TrackerNamespaceManager that contains a set of well-known
namespaces and prefixes, such as rdf:, rdfs:, nie:, tracker:, etc.

Note that the list of prefixes and namespaces is hardcoded in
libtracker-sparql. It may not correspond with the installed set of
ontologies, if they have been modified since they were installed.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-namespace-manager.c"
               line="123">a global, shared #TrackerNamespaceManager instance</doc>
          <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
        </return-value>
      </function>
      <method name="add_prefix"
              c:identifier="tracker_namespace_manager_add_prefix">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="201">Adds @prefix as the recognised abbreviaton of @namespace.

Only one prefix is allowed for a given namespace, and all prefixes must
be unique.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="203">a #TrackerNamespaceManager</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="204">a short, unique prefix to identify @namespace</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="ns" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="205">the URL of the given namespace</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="expand_uri"
              c:identifier="tracker_namespace_manager_expand_uri">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="247">If @compact_uri begins with one of the prefixes known to this
#TrackerNamespaceManager, then the return value will be the
expanded URI. Otherwise, a copy of @compact_uri will be returned.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-namespace-manager.c"
               line="256">a newly-allocated string</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="249">a #TrackerNamespaceManager</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </instance-parameter>
          <parameter name="compact_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="250">a URI or compact URI</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="tracker_namespace_manager_foreach">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="322">Calls @func for each known prefix / URI pair.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="324">a #TrackerNamespaceManager</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="325">the function to call for each prefix / URI pair</doc>
            <type name="GLib.HFunc" c:type="GHFunc"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="326">user data to pass to the function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_prefix"
              c:identifier="tracker_namespace_manager_has_prefix">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="156">Returns whether @prefix is known.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-namespace-manager.c"
               line="163">%TRUE if the #TrackerNamespaceManager knows about @prefix, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="158">a #TrackerNamespaceManager</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="159">a string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup_prefix"
              c:identifier="tracker_namespace_manager_lookup_prefix">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="178">Looks up the namespace URI corresponding to @prefix, or %NULL if the prefix
is not known.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="54"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-namespace-manager.c"
               line="186">a string owned by the #TrackerNamespaceManager, or %NULL</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="180">a #TrackerNamespaceManager</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="181">a string</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="print_turtle"
              c:identifier="tracker_namespace_manager_print_turtle">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-namespace-manager.c"
             line="291">Writes out all namespaces as Turtle @prefix statements.</doc>
        <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                         line="60"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-namespace-manager.c"
               line="297">a newly-allocated string</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-namespace-manager.c"
                 line="293">a #TrackerNamespaceManager</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <record name="NamespaceManagerClass"
            c:type="TrackerNamespaceManagerClass"
            glib:is-gtype-struct-for="NamespaceManager">
      <source-position filename="src/libtracker-sparql/tracker-namespace-manager.h"
                       line="41"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Notifier"
           c:symbol-prefix="notifier"
           c:type="TrackerNotifier"
           parent="GObject.Object"
           glib:type-name="TrackerNotifier"
           glib:get-type="tracker_notifier_get_type"
           glib:type-struct="NotifierClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-notifier.h"
           line="35">The &lt;structname&gt;TrackerNotifier&lt;/structname&gt; object allows subscribing
to changes in the stored data.</doc>
      <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                       line="42"/>
      <method name="signal_subscribe"
              c:identifier="tracker_notifier_signal_subscribe"
              version="3.0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="786">Listens to notification events from a remote SPARQL endpoint as a DBus
service (see #TrackerEndpointDBus). If the @object_path argument is
%NULL, the default "/org/freedesktop/Tracker3/Endpoint" path will be
used. If @graph is %NULL, all graphs will be listened for.

The signal subscription can be removed with
tracker_notifier_signal_unsubscribe().</doc>
        <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                         line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-notifier.c"
               line="802">An ID for this subscription</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="notifier" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="788">a #TrackerNotifier</doc>
            <type name="Notifier" c:type="TrackerNotifier*"/>
          </instance-parameter>
          <parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="789">a #GDBusConnection</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="790">DBus service name to subscribe to events for</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="791">DBus object path to subscribe to events for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="graph"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="792">graph to listen events for, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="signal_unsubscribe"
              c:identifier="tracker_notifier_signal_unsubscribe"
              version="3.0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="867">Undoes a DBus signal subscription, the @handler_id argument was previously
obtained with a tracker_notifier_signal_subscribe() call.</doc>
        <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                         line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notifier" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="869">a #TrackerNotifier</doc>
            <type name="Notifier" c:type="TrackerNotifier*"/>
          </instance-parameter>
          <parameter name="handler_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="870">a handler ID obtained with tracker_notifier_signal_subscribe()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="757">SPARQL connection to listen to.</doc>
        <type name="SparqlConnection"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="events">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="738">Notifies of changes in the Tracker database.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="service" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="741">The SPARQL service that originated the events, %NULL for the local store</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="graph" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="742">The graph where the events happened on, %NULL for the default anonymous graph</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="events" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="743">A #GPtrArray of #TrackerNotifierEvent</doc>
            <array name="GLib.PtrArray">
              <type name="NotifierEvent"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="NotifierClass"
            c:type="TrackerNotifierClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Notifier">
      <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                       line="42"/>
    </record>
    <record name="NotifierEvent"
            c:type="TrackerNotifierEvent"
            opaque="1"
            glib:type-name="TrackerNotifierEvent"
            glib:get-type="tracker_notifier_event_get_type"
            c:symbol-prefix="notifier_event">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-notifier.h"
           line="44">The &lt;structname&gt;TrackerNotifierEvent&lt;/structname&gt; struct represents a
change event in the stored data.</doc>
      <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                       line="50"/>
      <method name="get_event_type"
              c:identifier="tracker_notifier_event_get_event_type">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="901">Returns the event type.</doc>
        <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                         line="81"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-notifier.c"
               line="907">The event type</doc>
          <type name="NotifierEventType" c:type="TrackerNotifierEventType"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="903">A #TrackerNotifierEvent</doc>
            <type name="NotifierEvent" c:type="TrackerNotifierEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="tracker_notifier_event_get_id">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="916">Returns the tracker:id of the element being notified upon. This is a #gint64
which is used as efficient internal identifier for the resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                         line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-notifier.c"
               line="923">the resource ID</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="918">A #TrackerNotifierEvent</doc>
            <type name="NotifierEvent" c:type="TrackerNotifierEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_urn" c:identifier="tracker_notifier_event_get_urn">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.c"
             line="932">Returns the Uniform Resource Name of the element. This is Tracker's
public identifier for the resource.

This URN is an unique string identifier for the resource being
notified upon, typically of the form "urn:uuid:...".</doc>
        <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-notifier.c"
               line="942">The element URN</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="event" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-notifier.c"
                 line="934">A #TrackerNotifierEvent</doc>
            <type name="NotifierEvent" c:type="TrackerNotifierEvent*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <enumeration name="NotifierEventType" c:type="TrackerNotifierEventType">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-notifier.h"
           line="52">Notifier event types.</doc>
      <source-position filename="src/libtracker-sparql/tracker-notifier.h"
                       line="64"/>
      <member name="create"
              value="0"
              c:identifier="TRACKER_NOTIFIER_EVENT_CREATE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.h"
             line="54">An element was created.</doc>
      </member>
      <member name="delete"
              value="1"
              c:identifier="TRACKER_NOTIFIER_EVENT_DELETE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.h"
             line="55">An element was deleted.</doc>
      </member>
      <member name="update"
              value="2"
              c:identifier="TRACKER_NOTIFIER_EVENT_UPDATE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-notifier.h"
             line="56">An element was updated.</doc>
      </member>
    </enumeration>
    <constant name="PREFIX_DC"
              value="http://purl.org/dc/elements/1.1/"
              c:type="TRACKER_PREFIX_DC">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="60">The Prefix of the DC (Dublin Core) namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="65"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_MFO"
              value="http://tracker.api.gnome.org/ontology/v3/mfo#"
              c:type="TRACKER_PREFIX_MFO">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="113">The Prefix of the MFO namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="118"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_NAO"
              value="http://tracker.api.gnome.org/ontology/v3/nao#"
              c:type="TRACKER_PREFIX_NAO">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="90">The Prefix of the NAO namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="95"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_NCO"
              value="http://tracker.api.gnome.org/ontology/v3/nco#"
              c:type="TRACKER_PREFIX_NCO">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="83">The Prefix of the NCO namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="88"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_NFO"
              value="http://tracker.api.gnome.org/ontology/v3/nfo#"
              c:type="TRACKER_PREFIX_NFO">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="97">The Prefix of the NFO namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="102"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_NIE"
              value="http://tracker.api.gnome.org/ontology/v3/nie#"
              c:type="TRACKER_PREFIX_NIE">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="76">The Prefix of the NIE namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="81"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_NMM"
              value="http://tracker.api.gnome.org/ontology/v3/nmm#"
              c:type="TRACKER_PREFIX_NMM">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="104">The Prefix of the RDF namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="109"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_NRL"
              value="http://tracker.api.gnome.org/ontology/v3/nrl#"
              c:type="TRACKER_PREFIX_NRL">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="69">The Prefix of the NRL namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="74"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_OSINFO"
              value="http://tracker.api.gnome.org/ontology/v3/osinfo#"
              c:type="TRACKER_PREFIX_OSINFO">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="127">The Prefix of the Osinfo namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="132"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_RDF"
              value="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
              c:type="TRACKER_PREFIX_RDF">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="32">The Prefix of the RDF namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="37"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_RDFS"
              value="http://www.w3.org/2000/01/rdf-schema#"
              c:type="TRACKER_PREFIX_RDFS">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="39">The Prefix of the RDFS namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="44"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_SLO"
              value="http://tracker.api.gnome.org/ontology/v3/slo#"
              c:type="TRACKER_PREFIX_SLO">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="120">The Prefix of the SLO namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="125"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_TRACKER"
              value="http://tracker.api.gnome.org/ontology/v3/tracker#"
              c:type="TRACKER_PREFIX_TRACKER">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="53">The Prefix of the Tracker namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="58"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="PREFIX_XSD"
              value="http://www.w3.org/2001/XMLSchema#"
              c:type="TRACKER_PREFIX_XSD">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-ontologies.h"
           line="46">The Prefix of the XSD namespace</doc>
      <source-position filename="src/libtracker-sparql/tracker-ontologies.h"
                       line="51"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Resource"
           c:symbol-prefix="resource"
           c:type="TrackerResource"
           parent="GObject.Object"
           glib:type-name="TrackerResource"
           glib:get-type="tracker_resource_get_type"
           glib:type-struct="ResourceClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-resource.c"
           line="69">The &lt;structname&gt;TrackerResource&lt;/structname&gt; object represents information
about a given resource.</doc>
      <source-position filename="src/libtracker-sparql/tracker-resource.h"
                       line="31"/>
      <constructor name="new" c:identifier="tracker_resource_new">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="226">Creates a TrackerResource instance.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="34"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="232">a newly created #TrackerResource. Free with g_object_unref() when done</doc>
          <type name="Resource" c:type="TrackerResource*"/>
        </return-value>
        <parameters>
          <parameter name="identifier"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="228">A string containing a URI, or %NULL.</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="deserialize" c:identifier="tracker_resource_deserialize">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="1847">Deserializes a #TrackerResource previously serialized with
tracker_resource_serialize(). It is implied that both ends
use a common #TrackerNamespaceManager.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="115"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="1855">A TrackerResource, or %NULL if
         deserialization fails.</doc>
          <type name="Resource" c:type="TrackerResource*"/>
        </return-value>
        <parameters>
          <parameter name="variant" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1849">a #GVariant</doc>
            <type name="GLib.Variant" c:type="GVariant*"/>
          </parameter>
        </parameters>
      </function>
      <method name="add_boolean" c:identifier="tracker_resource_add_boolean">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="560">Adds a boolean object to a multi-valued property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="562">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="563">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="564">the property object</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_double" c:identifier="tracker_resource_add_double">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="570">Adds a double object to a multi-valued property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="572">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="573">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="574">the property object</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_gvalue" c:identifier="tracker_resource_add_gvalue">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="446">Add 'value' to the list of values for given property.

You can pass any kind of GValue for @value, but serialization functions will
normally only be able to serialize URIs/relationships and fundamental value
types (string, int, etc.).</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="448">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="449">a string identifying the property to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="450">an initialised #GValue</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_int" c:identifier="tracker_resource_add_int">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="580">Adds an integer object to a multi-valued property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="582">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="583">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="584">the property object</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_int64" c:identifier="tracker_resource_add_int64">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="590">Adds an integer object to a multi-valued property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="592">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="593">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="594">the property object</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_relation" c:identifier="tracker_resource_add_relation">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="600">Adds a resource object to a multi-valued property. This
function produces similar RDF to tracker_resource_add_uri(),
although in this function the URI will depend on the identifier
set on @resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="602">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="603">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="604">the property object</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_string" c:identifier="tracker_resource_add_string">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="627">Adds a string object to a multi-valued property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="629">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="630">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="631">the property object</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_take_relation"
              c:identifier="tracker_resource_add_take_relation"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="613">Adds a resource object to a multi-valued property. This
function produces similar RDF to tracker_resource_add_uri(),
although in this function the URI will depend on the identifier
set on @resource. This function takes ownership of @resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="615">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="616">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="617">the property object</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_uri" c:identifier="tracker_resource_add_uri">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="637">Adds a resource object to a multi-valued property. This function
produces similar RDF to tracker_resource_add_relation(), although
it requires that the URI is previously known.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="639">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="640">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="641">the property object</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_boolean"
              c:identifier="tracker_resource_get_first_boolean">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="726">Returns the first boolean object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="78"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="733">the first boolean object</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="728">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="729">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_double"
              c:identifier="tracker_resource_get_first_double">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="737">Returns the first double object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="744">the first double object</doc>
          <type name="gdouble" c:type="double"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="739">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="740">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_int"
              c:identifier="tracker_resource_get_first_int">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="748">Returns the first integer object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="755">the first integer object</doc>
          <type name="gint" c:type="int"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="750">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="751">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_int64"
              c:identifier="tracker_resource_get_first_int64">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="759">Returns the first integer object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="766">the first integer object</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="761">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="762">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_relation"
              c:identifier="tracker_resource_get_first_relation">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="770">Returns the first resource object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="86"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="777">the first resource object</doc>
          <type name="Resource" c:type="TrackerResource*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="772">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="773">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_string"
              c:identifier="tracker_resource_get_first_string">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="781">Returns the first string object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="788">the first string object</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="783">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="784">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_first_uri"
              c:identifier="tracker_resource_get_first_uri">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="792">Returns the first resource object previously assigned to a property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="799">the first resource object as an URI.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="794">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="795">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_identifier"
              c:identifier="tracker_resource_get_identifier"
              glib:get-property="identifier">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="803">Returns the identifier of a resource.

If the identifier was set to NULL, the identifier returned will be a unique
SPARQL blank node identifier, such as "_:123".</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="812">a string owned by the resource</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="805">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_properties"
              c:identifier="tracker_resource_get_properties"
              version="3.0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="917">Gets the list of properties defined in @resource</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="100"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="923">The list of properties.
         The list should be freed with g_list_free().</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="919">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_property_overwrite"
              c:identifier="tracker_resource_get_property_overwrite"
              version="3.1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="1968">Returns whether the prior values for this property would be deleted
in the SPARQL issued by @resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="1976">#TRUE if the property would be overwritten</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1970">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1971">a string identifying the property to query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_values" c:identifier="tracker_resource_get_values">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="650">Returns the list of all known values of the given property.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="75"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="657">a #GList of #GValue
instances. The list should be freed with g_list_free()</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="GObject.Value"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="652">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="653">a string identifying the property to look up</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="identifier_compare_func"
              c:identifier="tracker_resource_identifier_compare_func">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="864">A helper function that compares a #TrackerResource by its identifier
string.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="872">an integer less than, equal to, or greater than zero, if the
         resource identifier is &lt;, == or &gt; than @identifier</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="866">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="identifier" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="867">a string identifying the resource</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="print_jsonld" c:identifier="tracker_resource_print_jsonld">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="1677">Serialize all the information in @resource as a JSON-LD document.

See &lt;http://www.jsonld.org/&gt; for more information on the JSON-LD
serialization format.

The @namespaces object is used to expand any compact URI values. In most
cases you should pass %NULL, which means the set of namespaces returned by
tracker_namespace_manager_get_default() will be used. This defines the
usual prefixes for all of the ontologies that Tracker ships with by default.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="1693">a newly-allocated string containing JSON-LD data.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1679">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="namespaces"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1680">a set of prefixed URLs, or %NULL to use the
    default set</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </parameter>
        </parameters>
      </method>
      <method name="print_sparql_update"
              c:identifier="tracker_resource_print_sparql_update">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="1489">Generates a SPARQL command to update a database with the information
stored in @resource.

The @namespaces object is used to expand any compact URI values. In most
cases you should pass %NULL, which means the set of namespaces returned by
tracker_namespace_manager_get_default() will be used. This defines the
usual prefixes for all of the ontologies that Tracker ships with by default.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="106"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="1505">a newly-allocated string containing a SPARQL update command.</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1491">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="namespaces"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1492">a set of prefixed URLs, or %NULL to use the
    default set</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </parameter>
          <parameter name="graph_id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1494">the URN of the graph the data should be added to,
    or %NULL</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="print_turtle" c:identifier="tracker_resource_print_turtle">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="1234">Serialize all the information in @resource as a Turtle document.

The generated Turtle should correspond to this standard:
&lt;https://www.w3.org/TR/2014/REC-turtle-20140225/&gt;

The @namespaces object is used to expand any compact URI values. In most
cases you should pass %NULL, which means the set of namespaces returned by
tracker_namespace_manager_get_default() will be used. This defines the
usual prefixes for all of the ontologies that Tracker ships with by default.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="103"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="1250">a newly-allocated string</doc>
          <type name="utf8" c:type="char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1236">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="namespaces"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1237">a set of prefixed URLs, or %NULL to use the
    default set</doc>
            <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
          </parameter>
        </parameters>
      </method>
      <method name="serialize" c:identifier="tracker_resource_serialize">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="1770">Serializes a #TrackerResource to a #GVariant in a lossless way.
All child resources are subsequently serialized. It is implied
that both ends use a common #TrackerNamespaceManager.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="112"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-resource.c"
               line="1778">A variant describing the resource,
         the reference is floating.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="1772">A #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_boolean" c:identifier="tracker_resource_set_boolean">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="358">Sets a single-valued boolean object.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="360">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="361">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="362">the property object</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_double" c:identifier="tracker_resource_set_double">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="368">Sets a single-valued double object.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="370">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="371">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="372">the property object</doc>
            <type name="gdouble" c:type="double"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_gvalue" c:identifier="tracker_resource_set_gvalue">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="252">State that the only value for the given property is 'value'. Any existing
values for 'property' will be removed.

When serialising to SPARQL, any properties that were set with this function
will get a corresponding DELETE statement to remove any existing values in
the database.

You can pass any kind of GValue for @value, but serialization functions will
normally only be able to serialize URIs/relationships and fundamental value
types (string, int, etc.).</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="254">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="255">a string identifying the property to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="256">an initialised #GValue</doc>
            <type name="GObject.Value" c:type="const GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_identifier"
              c:identifier="tracker_resource_set_identifier"
              glib:set-property="identifier">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="826">Changes the identifier of a #TrackerResource. The identifier should be a
URI or compact URI, but this is not necessarily enforced. Invalid
identifiers may cause errors when serializing the resource or trying to
insert the results in a database.

If the identifier is set to NULL, a SPARQL blank node identifier such as
"_:123" is assigned to the resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="828">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="identifier"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="829">a string identifying the resource</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int" c:identifier="tracker_resource_set_int">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="378">Sets a single-valued integer object.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="380">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="381">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="382">the property object</doc>
            <type name="gint" c:type="int"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_int64" c:identifier="tracker_resource_set_int64">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="388">Sets a single-valued integer object.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="390">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="391">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="392">the property object</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relation" c:identifier="tracker_resource_set_relation">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="398">Sets a single-valued resource object as a #TrackerResource. This
function produces similar RDF to tracker_resource_set_uri(),
although in this function the URI will depend on the identifier
set on @resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="400">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="401">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="402">the property object</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_string" c:identifier="tracker_resource_set_string">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="424">Sets a single-valued string object.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="426">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="427">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="428">the property object</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_take_relation"
              c:identifier="tracker_resource_set_take_relation"
              introspectable="0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="411">Sets a single-valued resource object as a #TrackerResource. This
function produces similar RDF to tracker_resource_set_uri(),
although in this function the URI will depend on the identifier
set on @resource. This function takes ownership of @resource.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="413">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="414">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="415">the property object</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri" c:identifier="tracker_resource_set_uri">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="434">Sets a single-valued resource object as a string URI. This function
produces similar RDF to tracker_resource_set_relation(), although
it requires that the URI is previously known.</doc>
        <source-position filename="src/libtracker-sparql/tracker-resource.h"
                         line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="436">the #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </instance-parameter>
          <parameter name="property_uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="437">a string identifying the property to modify</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-resource.c"
                 line="438">the property object</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <property name="identifier"
                writable="1"
                transfer-ownership="none"
                setter="set_identifier"
                getter="get_identifier"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-resource.c"
             line="106">The URI identifier for this class, or %NULL for a
blank node.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="ResourceClass"
            c:type="TrackerResourceClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="Resource">
      <source-position filename="src/libtracker-sparql/tracker-resource.h"
                       line="31"/>
    </record>
    <class name="SparqlConnection"
           c:symbol-prefix="sparql_connection"
           c:type="TrackerSparqlConnection"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="TrackerSparqlConnection"
           glib:get-type="tracker_sparql_connection_get_type"
           glib:type-struct="SparqlConnectionClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-connection.h"
           line="54">The &lt;structname&gt;TrackerSparqlConnection&lt;/structname&gt; object represents a
SPARQL connection.</doc>
      <source-position filename="src/libtracker-sparql/tracker-connection.h"
                       line="64"/>
      <constructor name="bus_new"
                   c:identifier="tracker_sparql_connection_bus_new"
                   version="3.0"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="183">Connects to a database owned by another process on the
local machine.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="93"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="193">a new #TrackerSparqlConnection. Call g_object_unref() on the
object when no longer used.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <parameter name="service_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="185">The name of the D-Bus service to connect to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="186">The path to the object, or %NULL to use the default.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dbus_connection"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="187">The #GDBusConnection to use, or %NULL to use the session bus</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="bus_new_finish"
                   c:identifier="tracker_sparql_connection_bus_new_finish"
                   version="3.1"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="214">Completion function for tracker_sparql_connection_bus_new_async().</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="105"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="221">a new #TrackerSparqlConnection. Call g_object_unref() on the
object when no longer used.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="216">the #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new"
                   c:identifier="tracker_sparql_connection_new"
                   version="3.0"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="122">Creates or opens a 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.

The @ontologies parameter must point to a location containing suitable
`.ontology` files in Turtle format. These control the database schema that
is used. You can use the default Nepomuk ontologies by calling
tracker_sparql_get_ontology_nepomuk ().

If you open an existing database using a different @ontology to the one it
was created with, Tracker will attempt to migrate the existing data to the
new schema. This 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.

You can also pass %NULL for @ontologies to mean "use the ontologies that the
database was created with". This will fail if the database doesn't already
exist.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="76"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="153">a new #TrackerSparqlConnection. Call
g_object_unref() on the object when no longer used.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="124">values from #TrackerSparqlConnectionFlags</doc>
            <type name="SparqlConnectionFlags"
                  c:type="TrackerSparqlConnectionFlags"/>
          </parameter>
          <parameter name="store"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="125">the directory that contains the database as a #GFile, or %NULL</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="ontology"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="126">the directory that contains the database schemas as a #GFile, or %NULL</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="127">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_finish"
                   c:identifier="tracker_sparql_connection_new_finish"
                   version="3.0"
                   throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="173">Completion function for tracker_sparql_connection_new_async().</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="89"/>
        <return-value transfer-ownership="full">
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <parameter name="result" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="175">the #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="remote_new"
                   c:identifier="tracker_sparql_connection_remote_new">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="227">Connects to a remote SPARQL endpoint. The connection is made using the libsoup
HTTP library. The connection will normally use the http:// or https:// protocol.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="109"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="234">a new remote #TrackerSparqlConnection. Call
g_object_unref() on the object when no longer used.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <parameter name="uri_base" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="229">Base URI of the remote connection</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="bus_new_async"
                c:identifier="tracker_sparql_connection_bus_new_async"
                version="3.1"
                glib:finish-func="bus_new_finish">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="199">Connects to a database owned by another process on the
local machine. This is an asynchronous operation.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="service_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="201">The name of the D-Bus service to connect to.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="202">The path to the object, or %NULL to use the default.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="dbus_connection"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="203">The #GDBusConnection to use, or %NULL to use the session bus</doc>
            <type name="Gio.DBusConnection" c:type="GDBusConnection*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="204">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="205">the #GAsyncReadyCallback called when the operation completes</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="206">data passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <function name="new_async"
                c:identifier="tracker_sparql_connection_new_async"
                version="3.0"
                glib:finish-func="new_finish">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="159">Asynchronous version of tracker_sparql_connection_new().</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="161">values from #TrackerSparqlConnectionFlags</doc>
            <type name="SparqlConnectionFlags"
                  c:type="TrackerSparqlConnectionFlags"/>
          </parameter>
          <parameter name="store"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="162">the directory that contains the database as a #GFile, or %NULL</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="ontology"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="163">the directory that contains the database schemas as a #GFile, or %NULL</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="164">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="5">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="165">the #GAsyncReadyCallback called when the operation completes</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="166">data passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </function>
      <method name="close"
              c:identifier="tracker_sparql_connection_close"
              version="3.0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="718">Closes a SPARQL connection. No other API calls than g_object_unref()
should happen after this call.

This call is blocking. All pending updates will be flushed, and the
store databases will be closed orderly. All ongoing SELECT queries
will be cancelled. Notifiers will no longer emit events.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="202"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="720">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="close_async"
              c:identifier="tracker_sparql_connection_close_async"
              version="3.0"
              glib:finish-func="close_finish">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="739">Closes a connection asynchronously. No other API calls than g_object_unref()
should happen after this call. See tracker_sparql_connection_close() for more
information.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="205"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="741">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="742">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="743">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="745">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_finish"
              c:identifier="tracker_sparql_connection_close_finish"
              version="3.0"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="767">Finishes the asynchronous connection close.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="211"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="775">%FALSE if some error occurred, %TRUE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="769">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="770">the #GAsyncResult</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_batch"
              c:identifier="tracker_sparql_connection_create_batch">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="790">Creates a new batch to store and execute update commands. If the connection
is readonly or cannot issue SPARQL updates, %NULL will be returned.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="172"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="797">(nullable): A new #TrackerBatch</doc>
          <type name="Batch" c:type="TrackerBatch*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="792">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="create_notifier"
              c:identifier="tracker_sparql_connection_create_notifier">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="699">Creates a new #TrackerNotifier to notify about changes in @connection.
See #TrackerNotifier documentation for information about how to use this
object.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="199"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="707">a newly created notifier. Free with g_object_unref()
         when no longer needed.</doc>
          <type name="Notifier" c:type="TrackerNotifier*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="701">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_namespace_manager"
              c:identifier="tracker_sparql_connection_get_namespace_manager">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="653">Retrieves a #TrackerNamespaceManager that contains all
prefixes in the ontology of @connection.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="191"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="660">a #TrackerNamespaceManager for this
connection. This object is owned by @connection and must not be freed.</doc>
          <type name="NamespaceManager" c:type="TrackerNamespaceManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="655">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="query"
              c:identifier="tracker_sparql_connection_query"
              throws="1"
              glib:async-func="query_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="238">Executes a SPARQL query on. The API call is completely synchronous, so
it may block.

The @sparql query should be built with #TrackerResource, or
its parts correctly escaped using tracker_sparql_escape_string(),
otherwise SPARQL injection is possible.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="112"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="252">a #TrackerSparqlCursor if results were found.
On error, #NULL is returned and the @error is set accordingly.
Call g_object_unref() on the returned cursor when no longer needed.</doc>
          <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="240">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="241">string containing the SPARQL query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="242">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_async"
              c:identifier="tracker_sparql_connection_query_async"
              glib:finish-func="query_finish"
              glib:sync-func="query">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="273">Executes asynchronously a SPARQL query.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="275">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="276">string containing the SPARQL query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="277">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="278">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="280">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_finish"
              c:identifier="tracker_sparql_connection_query_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="302">Finishes the asynchronous SPARQL query operation.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="124"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="310">a #TrackerSparqlCursor if results were found.
On error, #NULL is returned and the @error is set accordingly.
Call g_object_unref() on the returned cursor when no longer needed.</doc>
          <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="304">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="305">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="query_statement"
              c:identifier="tracker_sparql_connection_query_statement"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="671">Prepares the given @sparql as a #TrackerSparqlStatement.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="194"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="680">a prepared statement</doc>
          <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="673">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="674">the SPARQL query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="675">a #GCancellable used to cancel the operation, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update"
              c:identifier="tracker_sparql_connection_update"
              throws="1"
              glib:async-func="update_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="328">Executes a SPARQL update. The API call is completely
synchronous, so it may block.

The @sparql query should be built with #TrackerResource, or
its parts correctly escaped using tracker_sparql_escape_string(),
otherwise SPARQL injection is possible.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="129"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="330">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="331">string containing the SPARQL update query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="332">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_array_async"
              c:identifier="tracker_sparql_connection_update_array_async"
              glib:finish-func="update_array_finish">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="410">Executes asynchronously an array of SPARQL updates. All updates in the
array are handled within a single transaction.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="412">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="413">an array of strings containing the SPARQL update queries</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="sparql_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="414">the amount of strings you pass as @sparql</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="415">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="416">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="418">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_array_finish"
              c:identifier="tracker_sparql_connection_update_array_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="443">Finishes the asynchronous SPARQL update_array operation.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="451">#TRUE if there were no errors.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="445">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="446">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_async"
              c:identifier="tracker_sparql_connection_update_async"
              glib:finish-func="update_finish"
              glib:sync-func="update">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="359">Executes asynchronously a SPARQL update.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="134"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="361">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="362">string containing the SPARQL update query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="363">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="364">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="366">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_blank"
              c:identifier="tracker_sparql_connection_update_blank"
              throws="1"
              glib:async-func="update_blank_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="468">Executes a SPARQL update and returns the URNs of the generated nodes,
if any. The API call is completely synchronous, so it may block.

The @sparql query should be built with #TrackerResource, or
its parts correctly escaped using tracker_sparql_escape_string(),
otherwise SPARQL injection is possible.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="175"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="482">a #GVariant with the generated URNs, which should be freed with
g_variant_unref() when no longer used.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="470">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="471">string containing the SPARQL update query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="472">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_blank_async"
              c:identifier="tracker_sparql_connection_update_blank_async"
              glib:finish-func="update_blank_finish"
              glib:sync-func="update_blank">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="502">Executes asynchronously a SPARQL update.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="180"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="504">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="sparql" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="505">string containing the SPARQL update query</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="506">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="507">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="509">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_blank_finish"
              c:identifier="tracker_sparql_connection_update_blank_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="531">Finishes the asynchronous SPARQL update operation, and returns
the URNs of the generated nodes, if any.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="186"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="540">a #GVariant with the generated URNs, which should be freed with
g_variant_unref() when no longer used.</doc>
          <type name="GLib.Variant" c:type="GVariant*"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="533">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="534">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_finish"
              c:identifier="tracker_sparql_connection_update_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="388">Finishes the asynchronous SPARQL update operation.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="390">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="391">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_resource"
              c:identifier="tracker_sparql_connection_update_resource"
              version="3.1"
              throws="1"
              glib:async-func="update_resource_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="557">Inserts a resource as described by @resource, on the graph described by @graph.
This operation blocks until done.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="155"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="568">#TRUE if there were no errors.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="559">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="graph"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="560">RDF graph where the resource should be inserted/updated, or %NULL for the default graph</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="561">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="562">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_resource_async"
              c:identifier="tracker_sparql_connection_update_resource_async"
              version="3.1"
              glib:finish-func="update_resource_finish"
              glib:sync-func="update_resource">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="591">Inserts a resource as described by @resource, on the graph described by @graph.
This operation is executed asynchronously, when finished @callback will be
executed.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="161"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="593">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="graph"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="594">RDF graph where the resource should be inserted/updated, or %NULL for the default graph</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="resource" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="595">a #TrackerResource</doc>
            <type name="Resource" c:type="TrackerResource*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="596">a #GCancellable, or %NULL</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="597">the #GAsyncReadyCallback called when the operation completes</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="598">data passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="update_resource_finish"
              c:identifier="tracker_sparql_connection_update_resource_finish"
              version="3.1"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.c"
             line="627">Finishes a tracker_sparql_connection_update_resource_async() operation.</doc>
        <source-position filename="src/libtracker-sparql/tracker-connection.h"
                         line="168"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-connection.c"
               line="635">#TRUE if there were no errors.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="connection" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="629">a #TrackerSparqlConnection</doc>
            <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-connection.c"
                 line="630">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="SparqlConnectionClass"
            c:type="TrackerSparqlConnectionClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="SparqlConnection">
      <source-position filename="src/libtracker-sparql/tracker-connection.h"
                       line="64"/>
    </record>
    <bitfield name="SparqlConnectionFlags"
              c:type="TrackerSparqlConnectionFlags">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-connection.h"
           line="34">Connection flags to modify #TrackerSparqlConnection behavior.</doc>
      <source-position filename="src/libtracker-sparql/tracker-connection.h"
                       line="52"/>
      <member name="none"
              value="0"
              c:identifier="TRACKER_SPARQL_CONNECTION_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.h"
             line="36">No flags.</doc>
      </member>
      <member name="readonly"
              value="1"
              c:identifier="TRACKER_SPARQL_CONNECTION_FLAGS_READONLY">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.h"
             line="37">Connection is readonly.</doc>
      </member>
      <member name="fts_enable_stemmer"
              value="2"
              c:identifier="TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_STEMMER">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.h"
             line="38">Word stemming is applied to FTS search terms.</doc>
      </member>
      <member name="fts_enable_unaccent"
              value="4"
              c:identifier="TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_UNACCENT">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.h"
             line="39">Unaccenting is applied to FTS search terms.</doc>
      </member>
      <member name="fts_enable_stop_words"
              value="8"
              c:identifier="TRACKER_SPARQL_CONNECTION_FLAGS_FTS_ENABLE_STOP_WORDS">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.h"
             line="40">FTS Search terms are filtered through a stop word list.</doc>
      </member>
      <member name="fts_ignore_numbers"
              value="16"
              c:identifier="TRACKER_SPARQL_CONNECTION_FLAGS_FTS_IGNORE_NUMBERS">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-connection.h"
             line="41">Ignore numbers in FTS search terms.</doc>
      </member>
    </bitfield>
    <class name="SparqlCursor"
           c:symbol-prefix="sparql_cursor"
           c:type="TrackerSparqlCursor"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="TrackerSparqlCursor"
           glib:get-type="tracker_sparql_cursor_get_type"
           glib:type-struct="SparqlCursorClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-cursor.h"
           line="31">The &lt;structname&gt;TrackerSparqlCursor&lt;/structname&gt; object represents an
iterator of results.</doc>
      <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                       line="40"/>
      <method name="close" c:identifier="tracker_sparql_cursor_close">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="370">Closes the iterator, making it invalid.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="372">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_boolean"
              c:identifier="tracker_sparql_cursor_get_boolean">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="274">Retrieve a boolean for the current row in @column.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="281">a #gboolean.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="276">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="277">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_connection"
              c:identifier="tracker_sparql_cursor_get_connection"
              glib:get-property="connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="199">Returns the #TrackerSparqlConnection associated with this
#TrackerSparqlCursor.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="206">the cursor #TrackerSparqlConnection. The
returned object must not be unreferenced by the caller.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="201">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_double"
              c:identifier="tracker_sparql_cursor_get_double">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="293">Retrieve a double for the current row in @column.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="82"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="300">a double.</doc>
          <type name="gdouble" c:type="gdouble"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="295">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="296">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_integer"
              c:identifier="tracker_sparql_cursor_get_integer">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="312">Retrieve an integer for the current row in @column.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="85"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="319">a #gint64.</doc>
          <type name="gint64" c:type="gint64"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="314">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="315">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_columns"
              c:identifier="tracker_sparql_cursor_get_n_columns"
              glib:get-property="n-columns">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="231">This method should only be called after a successful
tracker_sparql_cursor_next(); otherwise its return value
will be undefined.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="239">a #gint representing the number of columns available in the
results to iterate.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="233">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_string"
              c:identifier="tracker_sparql_cursor_get_string">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="250">Retrieves a string representation of the data in the current
row in @column.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="75"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="259">a string which must not be freed. %NULL is returned if
the column is not in the [0,#n_columns] range.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="252">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="253">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     nullable="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="254">length of the returned string, or %NULL</doc>
            <type name="glong" c:type="glong*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value_type"
              c:identifier="tracker_sparql_cursor_get_value_type">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="331">The data type bound to the current row in @column is returned.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="338">a #TrackerSparqlValueType.</doc>
          <type name="SparqlValueType" c:type="TrackerSparqlValueType"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="333">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="334">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_variable_name"
              c:identifier="tracker_sparql_cursor_get_variable_name">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="351">Retrieves the variable name for the current row in @column.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="358">a string which must not be freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="353">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="354">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_bound" c:identifier="tracker_sparql_cursor_is_bound">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="384">If the current row and @column are bound to a value, %TRUE is returned.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="391">a %TRUE or %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="386">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="column" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="387">column number to retrieve (first one is 0)</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="next"
              c:identifier="tracker_sparql_cursor_next"
              throws="1"
              glib:async-func="next_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="402">Iterates to the next result. This is completely synchronous and
it may block.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="411">%FALSE if no more results found, otherwise %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="404">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="405">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="next_async"
              c:identifier="tracker_sparql_cursor_next_async"
              glib:finish-func="next_finish"
              glib:sync-func="next">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="435">Iterates, asynchronously, to the next result.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="106"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="437">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="438">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="439">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="441">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="next_finish"
              c:identifier="tracker_sparql_cursor_next_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="460">Finishes the asynchronous iteration to the next result.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-cursor.c"
               line="468">%FALSE if no more results found, otherwise %TRUE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="462">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="463">a #GAsyncResult with the result of the operation</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="rewind" c:identifier="tracker_sparql_cursor_rewind">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="492">Resets the iterator to point back to the first result.</doc>
        <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                         line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="cursor" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-cursor.c"
                 line="494">a #TrackerSparqlCursor</doc>
            <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.c"
             line="169">The #TrackerSparqlConnection used to retrieve the results.</doc>
        <type name="SparqlConnection"/>
      </property>
      <property name="n-columns"
                transfer-ownership="none"
                getter="get_n_columns"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="SparqlCursorClass"
            c:type="TrackerSparqlCursorClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="SparqlCursor">
      <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                       line="40"/>
    </record>
    <enumeration name="SparqlError"
                 c:type="TrackerSparqlError"
                 glib:error-domain="tracker-sparql-error-quark">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-error.h"
           line="37">Error domain for Tracker Sparql. Errors in this domain will be from the
#TrackerSparqlError enumeration. See #GError for more information on error
domains.</doc>
      <source-position filename="src/libtracker-sparql/tracker-error.h"
                       line="73"/>
      <member name="error_constraint"
              value="0"
              c:identifier="TRACKER_SPARQL_ERROR_CONSTRAINT">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="39">Subject is not in the domain of a property or
                            trying to set multiple values for a single valued
                            property.</doc>
      </member>
      <member name="error_internal"
              value="1"
              c:identifier="TRACKER_SPARQL_ERROR_INTERNAL">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="42">Internal error.</doc>
      </member>
      <member name="error_no_space"
              value="2"
              c:identifier="TRACKER_SPARQL_ERROR_NO_SPACE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="43">There was no disk space available to perform the request.</doc>
      </member>
      <member name="error_ontology_not_found"
              value="3"
              c:identifier="TRACKER_SPARQL_ERROR_ONTOLOGY_NOT_FOUND">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="44">The specified ontology wasn't found.</doc>
      </member>
      <member name="error_open_error"
              value="4"
              c:identifier="TRACKER_SPARQL_ERROR_OPEN_ERROR">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="45">Problem encounted while opening the database.</doc>
      </member>
      <member name="error_parse"
              value="5"
              c:identifier="TRACKER_SPARQL_ERROR_PARSE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="46">Error parsing the SPARQL string.</doc>
      </member>
      <member name="error_query_failed"
              value="6"
              c:identifier="TRACKER_SPARQL_ERROR_QUERY_FAILED">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="47">Problem while executing the query.</doc>
      </member>
      <member name="error_type"
              value="7"
              c:identifier="TRACKER_SPARQL_ERROR_TYPE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="48">Type constraint failed when trying to insert data.</doc>
      </member>
      <member name="error_unknown_class"
              value="8"
              c:identifier="TRACKER_SPARQL_ERROR_UNKNOWN_CLASS">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="49">Unknown class.</doc>
      </member>
      <member name="error_unknown_graph"
              value="9"
              c:identifier="TRACKER_SPARQL_ERROR_UNKNOWN_GRAPH">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="50">Unknown graph.</doc>
      </member>
      <member name="error_unknown_property"
              value="10"
              c:identifier="TRACKER_SPARQL_ERROR_UNKNOWN_PROPERTY">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="51">Unknown property.</doc>
      </member>
      <member name="error_unsupported"
              value="11"
              c:identifier="TRACKER_SPARQL_ERROR_UNSUPPORTED">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="52">Unsupported feature or method.</doc>
      </member>
      <member name="n_errors"
              value="12"
              c:identifier="TRACKER_SPARQL_N_ERRORS">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-error.h"
             line="53">The total number of error codes.</doc>
      </member>
    </enumeration>
    <class name="SparqlStatement"
           c:symbol-prefix="sparql_statement"
           c:type="TrackerSparqlStatement"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="TrackerSparqlStatement"
           glib:get-type="tracker_sparql_statement_get_type"
           glib:type-struct="SparqlStatementClass">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-statement.h"
           line="31">The &lt;structname&gt;TrackerSparqlStatement&lt;/structname&gt; object represents
a prepared query statement.</doc>
      <source-position filename="src/libtracker-sparql/tracker-statement.h"
                       line="40"/>
      <method name="bind_boolean"
              c:identifier="tracker_sparql_statement_bind_boolean">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="201">Binds the boolean @value to variable @name.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="55"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="203">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="204">variable name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="205">value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_double"
              c:identifier="tracker_sparql_statement_bind_double">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="243">Binds the double @value to variable @name.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="245">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="246">variable name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="247">value</doc>
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_int" c:identifier="tracker_sparql_statement_bind_int">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="222">Binds the integer @value to variable @name.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="224">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="225">variable name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="226">value</doc>
            <type name="gint64" c:type="gint64"/>
          </parameter>
        </parameters>
      </method>
      <method name="bind_string"
              c:identifier="tracker_sparql_statement_bind_string">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="264">Binds the string @value to variable @name.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="266">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="267">variable name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="268">value</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_bindings"
              c:identifier="tracker_sparql_statement_clear_bindings"
              version="3.0">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="360">Clears all boolean/string/integer/double bindings.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="362">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="execute"
              c:identifier="tracker_sparql_statement_execute"
              throws="1"
              glib:async-func="execute_async">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="286">Executes the SPARQL query with the currently bound values.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-statement.c"
               line="294">A #TrackerSparqlCursor</doc>
          <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="288">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="289">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute_async"
              c:identifier="tracker_sparql_statement_execute_async"
              glib:finish-func="execute_finish"
              glib:sync-func="execute">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="310">Asynchronously executes the SPARQL query with the currently bound values.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="312">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="313">a #GCancellable used to cancel the operation</doc>
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="2">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="314">user-defined #GAsyncReadyCallback to be called when
           asynchronous operation is finished.</doc>
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="316">user-defined data to be passed to @callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="execute_finish"
              c:identifier="tracker_sparql_statement_execute_finish"
              throws="1">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="335">Finishes the asynchronous operation started through
tracker_sparql_statement_execute_async().</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="86"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-statement.c"
               line="344">A #TrackerSparqlCursor</doc>
          <type name="SparqlCursor" c:type="TrackerSparqlCursor*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="337">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
          <parameter name="res" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="338">The #GAsyncResult from the callback used to return the #TrackerSparqlCursor</doc>
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_connection"
              c:identifier="tracker_sparql_statement_get_connection"
              glib:get-property="connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="165">Returns the #TrackerSparqlConnection that this statement was created from.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-statement.c"
               line="171">The SPARQL connection of this statement.</doc>
          <type name="SparqlConnection" c:type="TrackerSparqlConnection*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="167">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sparql"
              c:identifier="tracker_sparql_statement_get_sparql"
              glib:get-property="sparql">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="183">Returns the SPARQL string that this prepared statement holds.</doc>
        <source-position filename="src/libtracker-sparql/tracker-statement.h"
                         line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-statement.c"
               line="189">The contained SPARQL query</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="stmt" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="src/libtracker-sparql/tracker-statement.c"
                 line="185">a #TrackerSparqlStatement</doc>
            <type name="SparqlStatement" c:type="TrackerSparqlStatement*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="connection"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_connection">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="133">The #TrackerSparqlConnection used to perform the query.</doc>
        <type name="SparqlConnection"/>
      </property>
      <property name="sparql"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_sparql"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-statement.c"
             line="147">SPARQL query stored in this statement.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="SparqlStatementClass"
            c:type="TrackerSparqlStatementClass"
            disguised="1"
            opaque="1"
            glib:is-gtype-struct-for="SparqlStatement">
      <source-position filename="src/libtracker-sparql/tracker-statement.h"
                       line="40"/>
    </record>
    <enumeration name="SparqlValueType" c:type="TrackerSparqlValueType">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-cursor.h"
           line="45">Enumeration with the possible types of the cursor's cells</doc>
      <source-position filename="src/libtracker-sparql/tracker-cursor.h"
                       line="67"/>
      <member name="unbound"
              value="0"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_UNBOUND">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="47">Unbound value type</doc>
      </member>
      <member name="uri"
              value="1"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_URI">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="48">Uri value type, rdfs:Resource</doc>
      </member>
      <member name="string"
              value="2"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_STRING">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="49">String value type, xsd:string</doc>
      </member>
      <member name="integer"
              value="3"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_INTEGER">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="50">Integer value type, xsd:integer</doc>
      </member>
      <member name="double"
              value="4"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_DOUBLE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="51">Double value type, xsd:double</doc>
      </member>
      <member name="datetime"
              value="5"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_DATETIME">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="52">Datetime value type, xsd:dateTime</doc>
      </member>
      <member name="blank_node"
              value="6"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_BLANK_NODE">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="53">Blank node value type</doc>
      </member>
      <member name="boolean"
              value="7"
              c:identifier="TRACKER_SPARQL_VALUE_TYPE_BOOLEAN">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-cursor.h"
             line="54">Boolean value type, xsd:boolean</doc>
      </member>
    </enumeration>
    <function name="check_version" c:identifier="tracker_check_version">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-version.c"
           line="44">Checks that the Tracker library in use is compatible with the
given version. Generally you would pass in the constants
#TRACKER_MAJOR_VERSION, #TRACKER_MINOR_VERSION, #TRACKER_MICRO_VERSION
as the three arguments to this function; that produces
a check that the library in use is compatible with
the version of Tracker the application or module was compiled
against.

Compatibility is defined by two things: first the version
of the running library is newer than the version
@required_major.required_minor.@required_micro. Second
the running library must be binary compatible with the
version @required_major.required_minor.@required_micro
(same major version.)</doc>
      <source-position filename="src/libtracker-sparql/tracker-version.h"
                       line="146"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-version.c"
             line="65">%NULL if the Tracker library is compatible with the
  given version, or a string describing the version mismatch.
  The returned string is owned by Tracker and must not be modified
  or freed.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="required_major" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-version.c"
               line="46">the required major version.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="required_minor" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-version.c"
               line="47">the required minor version.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="required_micro" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-version.c"
               line="48">the required micro version.</doc>
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="sparql_error_quark"
              c:identifier="tracker_sparql_error_quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="sparql_escape_string"
              c:identifier="tracker_sparql_escape_string">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-utils.c"
           line="35">Escapes @literal so it is suitable for insertion in
SPARQL queries as string literals. Manual construction
of query strings based user input is best avoided at
all cost, use of #TrackerSparqlStatement is recommended
instead.</doc>
      <source-position filename="src/libtracker-sparql/tracker-utils.h"
                       line="38"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-utils.c"
             line="45">the escaped string</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="literal" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-utils.c"
               line="37">a string to escape</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sparql_escape_uri"
              c:identifier="tracker_sparql_escape_uri">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-uri.c"
           line="280">Calls tracker_sparql_escape_uri_printf().</doc>
      <source-position filename="src/libtracker-sparql/tracker-utils.h"
                       line="35"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-uri.c"
             line="286">a newly-allocated string holding the result. The returned string
should be freed with g_free() when no longer needed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-uri.c"
               line="282">a string to be escaped, following the tracker sparql rules</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="sparql_escape_uri_printf"
              c:identifier="tracker_sparql_escape_uri_printf"
              introspectable="0">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-uri.c"
           line="256">Calls tracker_sparql_escape_uri_vprintf() with the @... supplied.</doc>
      <source-position filename="src/libtracker-sparql/tracker-utils.h"
                       line="32"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-uri.c"
             line="264">a newly-allocated string holding the result.The returned string
should be freed with g_free() when no longer needed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-uri.c"
               line="258">a standard printf() format string, but notice
    &lt;link linkend="string-precision"&gt;string precision pitfalls&lt;/link&gt; documented in g_strdup_printf()</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-uri.c"
               line="260">the parameters to insert into the format string</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="sparql_escape_uri_vprintf"
              c:identifier="tracker_sparql_escape_uri_vprintf"
              introspectable="0">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-uri.c"
           line="150">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().</doc>
      <source-position filename="src/libtracker-sparql/tracker-utils.h"
                       line="29"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-uri.c"
             line="162">a newly-allocated string holding the result. The returned string
should be freed with g_free() when no longer needed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-uri.c"
               line="152">a standard printf() format string, but notice
    &lt;link linkend="string-precision"&gt;string precision pitfalls&lt;/link&gt; documented in g_strdup_printf()</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="args" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="src/libtracker-sparql/tracker-uri.c"
               line="154">the list of parameters to insert into the format string</doc>
          <type name="va_list" c:type="va_list"/>
        </parameter>
      </parameters>
    </function>
    <function name="sparql_get_ontology_nepomuk"
              c:identifier="tracker_sparql_get_ontology_nepomuk">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-utils.c"
           line="111">Returns a path to the built-in Nepomuk ontologies.</doc>
      <source-position filename="src/libtracker-sparql/tracker-utils.h"
                       line="44"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-utils.c"
             line="116">a #GFile instance.</doc>
        <type name="Gio.File" c:type="GFile*"/>
      </return-value>
    </function>
    <function name="sparql_get_uuid_urn"
              c:identifier="tracker_sparql_get_uuid_urn">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-utils.c"
           line="98">Creates a fresh UUID-based URN.</doc>
      <source-position filename="src/libtracker-sparql/tracker-utils.h"
                       line="40"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="src/libtracker-sparql/tracker-utils.c"
             line="103">A newly generated UUID URN.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
    </function>
    <docsection name="tracker-batch">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-batch.c"
           line="21">#TrackerBatch is an object containing a series of SPARQL updates,
in either SPARQL string or #TrackerResource form. This object has
a single use, after the batch is executed, it can only be finished
and freed.

A batch is created with tracker_sparql_connection_create_batch().
To add resources use tracker_batch_add_resource() or
tracker_batch_add_sparql().

When a batch is ready for execution, use tracker_batch_execute()
or tracker_batch_execute_async(). The batch is executed as a single
transaction, it will succeed or fail entirely.

The mapping of blank node labels is global in a #TrackerBatch,
referencing the same blank node label in different operations in
a batch will resolve to the same resource.

This object was added in Tracker 3.1.</doc>
    </docsection>
    <docsection name="tracker-endpoint">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-endpoint.c"
           line="41">&lt;para&gt;
#TrackerEndpoint allows sharing data, either with other processes on the
system via a Tracker-specific D-Bus API, or remote peers via the HTTP
SPARQL protocol.
&lt;/para&gt;
&lt;para&gt;
When it is shared in this way, other peers can connect to your database using
tracker_sparql_connection_bus_new() or tracker_sparql_connection_remote_new(),
and can also fetch data directly from SPARQL queries using the
&lt;userinput&gt;SELECT { SERVICE ... }&lt;/userinput&gt; syntax.
&lt;/para&gt;</doc>
    </docsection>
    <docsection name="tracker-misc">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-utils.c"
           line="19">Collection of Tracker utility functions.</doc>
    </docsection>
    <docsection name="tracker-namespace-manager">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-namespace-manager.c"
           line="44">&lt;para&gt;
#TrackerNamespaceManager keeps track of namespaces. It allows you to assign
short prefixes for them to avoid typing full URLs all the time.

The syntax used is that of Compact URIs (CURIEs) as defined here:
(https://www.w3.org/TR/2010/NOTE-curie-20101216)

Usually you will want to use the default namespace manager, as returned by
tracker_namespace_manager_get_default(). This has a set of well-known
prefixes predefined.
&lt;/para&gt;</doc>
    </docsection>
    <docsection name="tracker-notifier">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-notifier.c"
           line="20">#TrackerNotifier is an object that receives notifications about
changes to the Tracker database. A #TrackerNotifier is created
through tracker_sparql_connection_create_notifier(), after the notifier
is created, events can be listened for by connecting to the
#TrackerNotifier::events signal. This object was added in Tracker 1.12.

# Known caveats # {#trackernotifier-caveats}

* The %TRACKER_NOTIFIER_EVENT_DELETE events will be received after the
  resource has been deleted. At that time queries on those elements will
  not bring any metadata. Only the ID/URN obtained through the event
  remain meaningful.
* Notifications of files being moved across indexed folders will
  appear as %TRACKER_NOTIFIER_EVENT_UPDATE events, containing
  the new location (if requested). The older location is no longer
  known to Tracker, this may make tracking of elements in specific
  folders hard using solely the #TrackerNotifier/Tracker data
  available at event notification time.</doc>
    </docsection>
    <docsection name="tracker-resource">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-resource.c"
           line="48">&lt;para&gt;
#TrackerResource keeps track of a set of properties for a given resource.
The resulting data can be serialized in several ways.
&lt;/para&gt;</doc>
    </docsection>
    <docsection name="tracker-sparql-connection">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-connection.c"
           line="20">&lt;para&gt;
#TrackerSparqlConnection is an object that represents a connection to a
SPARQL triple store. This store may be local and private (see
tracker_sparql_connection_new()), or it may be a remote connection to a
public endpoint (See tracker_sparql_connection_bus_new() and
tracker_sparql_connection_remote_new()).
&lt;/para&gt;

&lt;para&gt;
A #TrackerSparqlConnection is private to the calling process, it can be
exposed publicly via a #TrackerEndpoint, see tracker_endpoint_dbus_new().
&lt;/para&gt;

&lt;para&gt;
Updates on a connection are performed via the tracker_sparql_connection_update()
family of calls. tracker_sparql_connection_update_array() may be used for batched
updates. All functions have asynchronous variants.
&lt;/para&gt;

&lt;para&gt;
Queries on a connection are performed via tracker_sparql_connection_query()
and tracker_sparql_connection_query_statement(). The first call receives a
query string and returns a #TrackerSparqlCursor to iterate the results. The
second call returns a #TrackerSparqlStatement object that may be reused for
repeatable queries with variable parameters. tracker_sparql_statement_execute()
will returns a #TrackerSparqlCursor.
&lt;/para&gt;

&lt;para&gt;
Depending on the ontology definition, #TrackerSparqlConnection may emit
notifications whenever changes happen in the stored data. These notifications
can be processed via a #TrackerNotifier obtained with
tracker_sparql_connection_create_notifier().
&lt;/para&gt;

&lt;para&gt;
After use, a #TrackerSparqlConnection should be closed. See
tracker_sparql_connection_close() and tracker_sparql_connection_close_async().
&lt;/para&gt;</doc>
    </docsection>
    <docsection name="tracker-sparql-cursor">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-cursor.c"
           line="19">&lt;para&gt;
#TrackerSparqlCursor is an object which provides methods to iterate the
results of a query to the Tracker Store.
&lt;/para&gt;</doc>
    </docsection>
    <docsection name="tracker-sparql-statement">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-statement.c"
           line="19">The &lt;structname&gt;TrackerSparqlStatement&lt;/structname&gt; object represents
a SPARQL query. This query may contain parameterized variables
(expressed as ~var in the syntax), which may be mapped to arbitrary
values prior to execution. This statement may be reused for future
queries with different values.

The argument bindings may be changed through tracker_sparql_statement_bind_int(),
tracker_sparql_statement_bind_boolean(), tracker_sparql_statement_bind_double()
and tracker_sparql_statement_bind_string(). 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() or tracker_sparql_statement_execute_async().

This object was added in Tracker 2.2.</doc>
    </docsection>
    <docsection name="tracker-version">
      <doc xml:space="preserve"
           filename="src/libtracker-sparql/tracker-version.c"
           line="19">Tracker provides version information, primarily useful in configure checks
for builds that have a configure script. Applications will not typically use
the features described here.</doc>
    </docsection>
  </namespace>
</repository>
