<?xml version='1.0' encoding="ISO-8859-1"?>

<part id="tracker-overview">
  <title>Overview</title>
  <partintro>
    <para>
      The libtracker-sparql library allows creating and connecting to
      one or more "triplestore" databases.
    </para>
    <para>
      Data queries and updates are done using the SPARQL graph query
      language. The <type><link linkend="TrackerResource">TrackerResource</link></type>
      API provides helpers for updating data.
    </para>
    <para>
      You can share a database over D-Bus using the
      <type><link linkend="TrackerEndpoint">TrackerEndpoint</link></type> API,
      allowing other libtracker-sparql users to query from it, either
      by referencing it in a <userinput>SELECT { SERVICE ... }</userinput>
      query, or by connecting directly with
      <function><link linkend="tracker-sparql-connection-bus-new">tracker_sparql_connection_bus_new</link></function>.
    </para>
  </partintro>


  <chapter id="tracker-overview-connection-methods">
    <title>Connection methods</title>

    <para>
        You can create and access a private store using
        <function><link linkend="tracker-sparql-connection-new">tracker_sparql_connection_new</link></function>.
    </para>
    <para>
        To connect to another database on the same local machine, such as the
        one exposed by the Tracker filesystem miner, use
        <function><link linkend="tracker-sparql-connection-bus-new">tracker_sparql_connection_bus_new</link></function>.
    </para>
    <para>
        To connect to another a database on a remote machine, use
        <function><link linkend="tracker-sparql-connection-remote-new">tracker_sparql_connection_remote_new</link></function>.
    </para>
  </chapter>
</part>
