[tracker-miners/sam/extract-validation: 1/3] tracker-extract-desktop: Change how desktop 'Link' files are stored




commit ec6692ffdc47dd35e3a8093797bb9d23b21dd462
Author: Sam Thursfield <sam afuera me uk>
Date:   Fri Oct 9 19:35:42 2020 +0200

    tracker-extract-desktop: Change how desktop 'Link' files are stored
    
    While this is an API break, the API was added recently and I suspect
    it's not used yet.
    
    The old representation was a problem because the isStoredAs attribute,
    which we use to relate files with their contents, was being used to
    relate the bookmark to the website.
    
    Old output:
    
        INSERT DATA {
          <urn:link:https:%2F%2Fen.wikipedia.org%2Fwiki%2FTracker_(search_software)> a nie:DataObject , 
nfo:Website , nfo:FileDataObject ;
            nie:url "https://en.wikipedia.org/wiki/Tracker_(search_software)" .
          _:1 nie:title "Wikipedia Tracker" ;
            nie:isStoredAs <urn:link:https:%2F%2Fen.wikipedia.org%2Fwiki%2FTracker_(search_software)> .
        };
    
    New output:
    
        INSERT DATA {
          
<file:///home/sam/src/tracker-miners/tests/functional-tests/test-extraction-data/desktop/link-wikipedia-tracker.desktop>
 a nfo:FileDataObject .
          <https://en.wikipedia.org/wiki/Tracker_(search_software)> a nie:DataObject , nie:Website ;
            nie:url "https://en.wikipedia.org/wiki/Tracker_(search_software)" .
          _:1 a nfo:Bookmark ;
            nie:isStoredAs 
<file:///home/sam/src/tracker-miners/tests/functional-tests/test-extraction-data/desktop/link-wikipedia-tracker.desktop>
 ;
            nie:title "Wikipedia Tracker" ;
            nie:bookmarks <https://en.wikipedia.org/wiki/Tracker_(search_software)> .
        };
    
    See https://gitlab.gnome.org/GNOME/tracker-miners/-/merge_requests/181
    for original MR.

 src/tracker-extract/tracker-extract-desktop.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-desktop.c b/src/tracker-extract/tracker-extract-desktop.c
index 887c01755..6b800ec4b 100644
--- a/src/tracker-extract/tracker-extract-desktop.c
+++ b/src/tracker-extract/tracker-extract-desktop.c
@@ -169,20 +169,16 @@ process_desktop_file (TrackerResource  *resource,
 
                if (link_url) {
                        TrackerResource *website_resource;
-                       gchar *link_uri;
 
-                       g_strstrip (link_url);
-                       link_uri = tracker_sparql_escape_uri_printf (LINK_URN_PREFIX "%s", link_url);
-
-
-                       website_resource = tracker_resource_new (link_uri);
+                       website_resource = tracker_resource_new (link_url);
                        tracker_resource_add_uri (website_resource, "rdf:type", "nie:DataObject");
-                       tracker_resource_add_uri (website_resource, "rdf:type", "nfo:Website");
+                       tracker_resource_add_uri (website_resource, "rdf:type", "nie:Website");
                        tracker_resource_set_string (website_resource, "nie:url", link_url);
-                       tracker_resource_set_take_relation (resource, "nie:isStoredAs", website_resource);
+
+                       tracker_resource_add_uri (resource, "rdf:type", "nfo:Bookmark");
+                       tracker_resource_set_take_relation (resource, "nie:bookmarks", website_resource);
 
                        g_free (link_url);
-                       g_free (link_uri);
                } else {
                        /* a Link desktop entry must have an URL */
                        gchar *uri;


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