[tracker-miners/wip/carlosg/cli-improvements: 36/47] tracker: Fix file/folder count queries in "tracker3 status"




commit fa93a8143a518dc630301d72c4df2fd6cd2096bf
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Aug 18 00:31:54 2020 +0200

    tracker: Fix file/folder count queries in "tracker3 status"
    
    Look only for files in the filesystem graph so we don't get doubly
    resource definitions from multiple graphs, and fix folder/non-folder
    matches.

 src/tracker/tracker-status.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)
---
diff --git a/src/tracker/tracker-status.c b/src/tracker/tracker-status.c
index f9d38386a..a432c616d 100644
--- a/src/tracker/tracker-status.c
+++ b/src/tracker/tracker-status.c
@@ -206,12 +206,14 @@ get_file_and_folder_count (int *files,
 
        if (files) {
                const gchar query[] =
-                       "\nSELECT COUNT(?file) "
-                       "\nWHERE { "
-                       "\n  ?file a nfo:FileDataObject ;"
-                       "\n        nie:dataSource/tracker:available true ."
-                       "\n  FILTER (?file != nfo:Folder) "
-                       "\n}";
+                       "SELECT COUNT(?file) "
+                       "WHERE { "
+                       "  GRAPH tracker:FileSystem {"
+                       "    ?file a nfo:FileDataObject ;"
+                       "          nie:dataSource/tracker:available true ."
+                       "    FILTER (! EXISTS { ?file nie:interpretedAs/rdf:type nfo:Folder }) "
+                       "  }"
+                       "}";
 
                cursor = tracker_sparql_connection_query (connection, query, NULL, &error);
 
@@ -233,11 +235,13 @@ get_file_and_folder_count (int *files,
 
        if (folders) {
                const gchar query[] =
-                       "\nSELECT COUNT(?folders)"
-                       "\nWHERE { "
-                       "\n  ?folders a nfo:Folder ;"
-                       "\n           nie:dataSource/tracker:available true ."
-                       "\n}";
+                       "SELECT COUNT(?folders)"
+                       "WHERE { "
+                       "  GRAPH tracker:FileSystem {"
+                       "    ?folders a nfo:Folder ;"
+                       "             nie:isStoredAs/nie:dataSource/tracker:available true ."
+                       "  }"
+                       "}";
 
                cursor = tracker_sparql_connection_query (connection, query, NULL, &error);
 


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