[grilo-plugins/wip/jfelder/tracker-musicbrainz-external-reference] tracker: Use tracker:ExternalReference to retrieve musicbrainz ids



commit b514b4b9a70578de9ecae76b0e4e6d9b8b2e62be
Author: Jean Felder <jfelder src gnome org>
Date:   Sat Aug 31 18:59:02 2019 +0200

    tracker: Use tracker:ExternalReference to retrieve musicbrainz ids
    
    During Tracker 2.3 development cycle, nepomuk ontology has been
    extended to handle MusicBrainz identifiers. The initial idea was to
    extend nmm:MusicPiece to add new MusicBrainz properties. This solution
    was not generic enough (it did not allow to handle other online
    services). Finally, it has been decided to introduce
    tracker:ExternalReference to handle MusicBrainz (and any ony online
    service).
    
    This commit updates the mapping to query tracker:ExternalReference
    instead of the previous properties.
    
    There is no need to handle the previous way because there is no
    released version of Tracker with it.
    
    See: https://gitlab.gnome.org/GNOME/tracker/merge_requests/107

 src/tracker/grl-tracker-utils.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
---
diff --git a/src/tracker/grl-tracker-utils.c b/src/tracker/grl-tracker-utils.c
index dece73f0..dd6047b2 100644
--- a/src/tracker/grl-tracker-utils.c
+++ b/src/tracker/grl-tracker-utils.c
@@ -277,29 +277,29 @@ grl_tracker_setup_key_mappings (void)
                       "audio");
 
   insert_key_mapping (GRL_METADATA_KEY_MB_TRACK_ID,
-                      "nmm:mbTrackID",
-                      "nmm:mbTrackID(?urn)",
+                      NULL,
+                      "(SELECT tracker:referenceIdentifier(?t) AS ?t_id { ?urn tracker:hasExternalReference 
?t . ?t tracker:referenceSource \"https://musicbrainz.org/doc/Track\"; })",
                       "audio");
 
   insert_key_mapping (GRL_METADATA_KEY_MB_ARTIST_ID,
-                      "nmm:mbArtistID",
-                      "nmm:mbArtistID(?urn)",
+                      NULL,
+                     "(SELECT tracker:referenceIdentifier(?a) AS ?a_id { ?urn nmm:performer ?artist . 
?artist tracker:hasExternalReference ?a . ?a tracker:referenceSource \"https://musicbrainz.org/doc/Artist\"; 
})",
                       "audio");
 
   insert_key_mapping (GRL_METADATA_KEY_MB_RECORDING_ID,
-                      "nmm:mbRecordingID",
-                      "nmm:mbRecordingID(?urn)",
+                     NULL,
+                      "(SELECT tracker:referenceIdentifier(?r) AS ?r_id { ?urn tracker:hasExternalReference 
?r . ?r tracker:referenceSource \"https://musicbrainz.org/doc/Recording\"; })",
                       "audio");
 
   insert_key_mapping (GRL_METADATA_KEY_MB_RELEASE_ID,
-                      "nmm:mbReleaseID",
-                      "nmm:mbReleaseID(?urn)",
+                      NULL,
+                     "(SELECT tracker:referenceIdentifier(?re) AS ?re_id { ?urn nmm:musicAlbum ?album . 
?album tracker:hasExternalReference ?re . ?re tracker:referenceSource \"https://musicbrainz.org/doc/Release\"; 
})",
                       "audio");
 
   insert_key_mapping (GRL_METADATA_KEY_MB_RELEASE_GROUP_ID,
-                      "nmm:mbReleaseGroupID",
-                      "nmm:mbReleaseGroupID(?urn)",
-                      "audio");
+                      NULL,
+                     "(SELECT tracker:referenceIdentifier(?rg) AS ?rg_id { ?urn nmm:musicAlbum ?album . 
?album tracker:hasExternalReference ?rg . ?rg tracker:referenceSource 
\"https://musicbrainz.org/doc/Release_Group\"; })",
+                     "audio");
 
   insert_key_mapping (GRL_METADATA_KEY_FRAMERATE,
                       "nfo:frameRate",


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]