summaryrefslogtreecommitdiff
path: root/docs/reference/libtracker-sparql/examples/readonly-example.c
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/libtracker-sparql/examples/readonly-example.c')
-rw-r--r--docs/reference/libtracker-sparql/examples/readonly-example.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/docs/reference/libtracker-sparql/examples/readonly-example.c b/docs/reference/libtracker-sparql/examples/readonly-example.c
new file mode 100644
index 000000000..ac89cab26
--- /dev/null
+++ b/docs/reference/libtracker-sparql/examples/readonly-example.c
@@ -0,0 +1,55 @@
+#include <libtracker-sparql/tracker-sparql.h>
+
+int main (int argc, const char **argv)
+{
+ GError *error = NULL;
+ TrackerSparqlConnection *connection;
+ TrackerSparqlCursor *cursor;
+ const gchar *query = "SELECT nie:url(?u) WHERE { ?u a nfo:FileDataObject }";
+
+ connection = tracker_sparql_connection_get (NULL, &error);
+ if (!connection) {
+ g_printerr ("Couldn't obtain a connection to the Tracker store: %s",
+ error ? error->message : "unknown error");
+ g_clear_error (&error);
+
+ return 1;
+ }
+
+ /* Make a synchronous query to the store */
+ cursor = tracker_sparql_connection_query (connection,
+ query,
+ NULL,
+ &error);
+
+ if (error) {
+ /* Some error happened performing the query, not good */
+ g_printerr ("Couldn't query the Tracker Store: '%s'",
+ error ? error->message : "unknown error");
+ g_clear_error (&error);
+
+ return 1;
+ }
+
+ /* Check results... */
+ if (!cursor) {
+ g_print ("No results found :-/\n");
+ } else {
+ gint i = 0;
+
+ /* Iterate, synchronously, the results... */
+ while (tracker_sparql_cursor_next (cursor, NULL, &error)) {
+ g_print ("Result [%d]: %s\n",
+ i++,
+ tracker_sparql_cursor_get_string (cursor, 0, NULL));
+ }
+
+ g_print ("A total of '%d' results were found\n", i);
+
+ g_object_unref (cursor);
+ }
+
+ g_object_unref (connection);
+
+ return 0;
+}