summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2014-02-11 22:09:27 +0100
committerCarlos Garnacho <carlosg@gnome.org>2014-02-11 22:16:17 +0100
commitdede7ab5fe2e904b5221a22e3017ac4328a801fe (patch)
tree3aa8b0d84b3ebd6795fb6272378d6de91e051629 /src
parent2babd17d9463d770075edeeb6c7bd2502e0198c2 (diff)
downloadtracker-dede7ab5fe2e904b5221a22e3017ac4328a801fe.tar.gz
libtracker-miner: Ensure the decorator nie:DataSource is queried as an IRI
Diffstat (limited to 'src')
-rw-r--r--src/libtracker-miner/tracker-decorator.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/libtracker-miner/tracker-decorator.c b/src/libtracker-miner/tracker-decorator.c
index 0f0c92ee2..d906b8a45 100644
--- a/src/libtracker-miner/tracker-decorator.c
+++ b/src/libtracker-miner/tracker-decorator.c
@@ -416,14 +416,19 @@ element_ensure_task (ElemNode *node,
static gint
get_class_id (TrackerSparqlConnection *conn,
- const gchar *class)
+ const gchar *class,
+ gboolean is_iri)
{
TrackerSparqlCursor *cursor;
GError *error = NULL;
gchar *query;
gint id = -1;
- query = g_strdup_printf ("select tracker:id (%s) { }", class);
+ if (is_iri)
+ query = g_strdup_printf ("select tracker:id (<%s>) { }", class);
+ else
+ query = g_strdup_printf ("select tracker:id (%s) { }", class);
+
cursor = tracker_sparql_connection_query (conn, query, NULL, &error);
g_free (query);
@@ -473,7 +478,7 @@ tracker_decorator_validate_class_ids (TrackerDecorator *decorator,
gchar *copy;
gint id;
- id = get_class_id (sparql_conn, class_names[i]);
+ id = get_class_id (sparql_conn, class_names[i], FALSE);
if (id >= 0) {
copy = g_strdup (class_names[i]);
@@ -640,9 +645,9 @@ tracker_decorator_initable_init (GInitable *initable,
if (g_cancellable_is_cancelled (cancellable))
return FALSE;
- priv->rdf_type_id = get_class_id (sparql_conn, "rdf:type");
- priv->nie_data_source_id = get_class_id (sparql_conn, "nie:dataSource");
- priv->data_source_id = get_class_id (sparql_conn, priv->data_source);
+ priv->rdf_type_id = get_class_id (sparql_conn, "rdf:type", FALSE);
+ priv->nie_data_source_id = get_class_id (sparql_conn, "nie:dataSource", FALSE);
+ priv->data_source_id = get_class_id (sparql_conn, priv->data_source, TRUE);
tracker_decorator_validate_class_ids (decorator, priv->class_names);
priv->graph_updated_signal_id =