[tracker/urn-in-extractor: 3/3] tracker-extract-playlist: Produce correct SparQL for nfo:MediaFileListEntry.
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/urn-in-extractor: 3/3] tracker-extract-playlist: Produce correct SparQL for nfo:MediaFileListEntry.
- Date: Wed, 24 Feb 2010 10:10:41 +0000 (UTC)
commit d42e09fa1d3ec7a1c71648f5e4a82cebea55db29
Author: Carlos Garnacho <carlos lanedo com>
Date: Wed Feb 24 11:06:25 2010 +0100
tracker-extract-playlist: Produce correct SparQL for nfo:MediaFileListEntry.
nie:isStoredAs now uses tracker_extract_get_urn() in order to link correctly
nfo:MediaFileListEntry entities with their nfo:MediaList.
src/tracker-extract/tracker-extract-playlist.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-playlist.c b/src/tracker-extract/tracker-extract-playlist.c
index 801e9d2..5c4275c 100644
--- a/src/tracker-extract/tracker-extract-playlist.c
+++ b/src/tracker-extract/tracker-extract-playlist.c
@@ -58,6 +58,7 @@ typedef struct {
gint64 total_time;
TrackerSparqlBuilder *metadata;
const gchar *uri;
+ const gchar *urn;
} PlaylistMetadata;
static void extract_playlist (const gchar *uri,
@@ -100,7 +101,12 @@ entry_parsed (TotemPlParser *parser, const gchar *to_uri, GHashTable *to_metadat
tracker_sparql_builder_object (data->metadata, "nie:InformationElement");
tracker_sparql_builder_predicate (data->metadata, "nie:isStoredAs");
- tracker_sparql_builder_object_iri (data->metadata, data->uri);
+ if (data->urn) {
+ tracker_sparql_builder_object_iri (data->metadata, data->urn);
+ } else {
+ tracker_sparql_builder_object (data->metadata, "_:file");
+ }
+
tracker_sparql_builder_predicate (data->metadata, "nie:url");
tracker_sparql_builder_object_string (data->metadata, data->uri);
@@ -133,7 +139,8 @@ extract_playlist (const gchar *uri,
{
TotemPlParser *pl;
TotemPlParserResult result;
- PlaylistMetadata data = { 0, 0, metadata, uri };
+ const gchar *urn = tracker_extract_get_urn ();
+ PlaylistMetadata data = { 0, 0, metadata, uri, urn };
pl = totem_pl_parser_new ();
@@ -145,9 +152,6 @@ extract_playlist (const gchar *uri,
tracker_sparql_builder_predicate (metadata, "a");
tracker_sparql_builder_object (metadata, "nfo:MediaList");
- tracker_sparql_builder_predicate (metadata, "nie:isStoredAs");
- tracker_sparql_builder_object_iri (metadata, uri);
-
result = totem_pl_parser_parse (pl, uri, FALSE);
switch (result) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]