diff options
-rw-r--r-- | src/tracker-extract/tracker-extract-mp3.c | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/tracker-extract/tracker-extract-mp3.c b/src/tracker-extract/tracker-extract-mp3.c index 47fb6cf49..a1264588e 100644 --- a/src/tracker-extract/tracker-extract-mp3.c +++ b/src/tracker-extract/tracker-extract-mp3.c @@ -2072,7 +2072,9 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) MP3Data md = { 0 }; TrackerSparqlBuilder *metadata, *preupdate; GFile *file; + const gchar *graph; + graph = tracker_extract_info_get_graph (info); metadata = tracker_extract_info_get_metadata_builder (info); preupdate = tracker_extract_info_get_preupdate_builder (info); @@ -2258,6 +2260,9 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) md.performer_uri = tracker_sparql_escape_uri_printf ("urn:artist:%s", md.performer); tracker_sparql_builder_insert_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } tracker_sparql_builder_subject_iri (preupdate, md.performer_uri); tracker_sparql_builder_predicate (preupdate, "a"); @@ -2265,6 +2270,9 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) tracker_sparql_builder_predicate (preupdate, "nmm:artistName"); tracker_sparql_builder_object_unvalidated (preupdate, md.performer); + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_insert_close (preupdate); } @@ -2272,6 +2280,9 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) md.composer_uri = tracker_sparql_escape_uri_printf ("urn:artist:%s", md.composer); tracker_sparql_builder_insert_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } tracker_sparql_builder_subject_iri (preupdate, md.composer_uri); tracker_sparql_builder_predicate (preupdate, "a"); @@ -2279,6 +2290,9 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) tracker_sparql_builder_predicate (preupdate, "nmm:artistName"); tracker_sparql_builder_object_unvalidated (preupdate, md.composer); + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_insert_close (preupdate); } @@ -2286,11 +2300,19 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) md.lyricist_uri = tracker_sparql_escape_uri_printf ("urn:artist:%s", md.lyricist); tracker_sparql_builder_insert_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, md.lyricist_uri); tracker_sparql_builder_predicate (preupdate, "a"); tracker_sparql_builder_object (preupdate, "nmm:Artist"); tracker_sparql_builder_predicate (preupdate, "nmm:artistName"); tracker_sparql_builder_object_unvalidated (preupdate, md.lyricist); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_insert_close (preupdate); } @@ -2298,6 +2320,9 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) md.album_uri = tracker_sparql_escape_uri_printf ("urn:album:%s", md.album); tracker_sparql_builder_insert_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } tracker_sparql_builder_subject_iri (preupdate, md.album_uri); tracker_sparql_builder_predicate (preupdate, "a"); @@ -2313,26 +2338,52 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) tracker_sparql_builder_object_iri (preupdate, md.performer_uri); } + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_insert_close (preupdate); if (md.track_count > 0) { tracker_sparql_builder_delete_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, md.album_uri); tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount"); tracker_sparql_builder_object_variable (preupdate, "unknown"); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_delete_close (preupdate); + tracker_sparql_builder_where_open (preupdate); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, md.album_uri); tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount"); tracker_sparql_builder_object_variable (preupdate, "unknown"); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_where_close (preupdate); tracker_sparql_builder_insert_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } tracker_sparql_builder_subject_iri (preupdate, md.album_uri); tracker_sparql_builder_predicate (preupdate, "nmm:albumTrackCount"); tracker_sparql_builder_object_int64 (preupdate, md.track_count); + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_insert_close (preupdate); } } @@ -2417,28 +2468,66 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) md.set_number > 0 ? md.set_number : 1); tracker_sparql_builder_delete_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, album_disc_uri); tracker_sparql_builder_predicate (preupdate, "nmm:setNumber"); tracker_sparql_builder_object_variable (preupdate, "unknown"); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_delete_close (preupdate); + tracker_sparql_builder_where_open (preupdate); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, album_disc_uri); tracker_sparql_builder_predicate (preupdate, "nmm:setNumber"); tracker_sparql_builder_object_variable (preupdate, "unknown"); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_where_close (preupdate); tracker_sparql_builder_delete_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, album_disc_uri); tracker_sparql_builder_predicate (preupdate, "nmm:albumDiscAlbum"); tracker_sparql_builder_object_variable (preupdate, "unknown"); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_delete_close (preupdate); + tracker_sparql_builder_where_open (preupdate); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, album_disc_uri); tracker_sparql_builder_predicate (preupdate, "nmm:albumDiscAlbum"); tracker_sparql_builder_object_variable (preupdate, "unknown"); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_where_close (preupdate); tracker_sparql_builder_insert_open (preupdate, NULL); + if (graph) { + tracker_sparql_builder_graph_open (preupdate, graph); + } + tracker_sparql_builder_subject_iri (preupdate, album_disc_uri); tracker_sparql_builder_predicate (preupdate, "a"); tracker_sparql_builder_object (preupdate, "nmm:MusicAlbumDisc"); @@ -2446,6 +2535,10 @@ tracker_extract_get_metadata (TrackerExtractInfo *info) tracker_sparql_builder_object_int64 (preupdate, md.set_number > 0 ? md.set_number : 1); tracker_sparql_builder_predicate (preupdate, "nmm:albumDiscAlbum"); tracker_sparql_builder_object_iri (preupdate, md.album_uri); + + if (graph) { + tracker_sparql_builder_graph_close (preupdate); + } tracker_sparql_builder_insert_close (preupdate); tracker_sparql_builder_predicate (metadata, "nmm:musicAlbumDisc"); |