[tracker] Using nie:isStoredAs property



commit 4d68860adcc73258ae8f96bbac85a949cb3ad4e4
Author: Philip Van Hoof <philip codeminded be>
Date:   Mon Jul 13 15:57:10 2009 +0200

    Using nie:isStoredAs property

 .../evolution/tracker-evolution-registrar.c        |    6 ++++++
 src/plugins/kmail/tracker-kmail-registrar.c        |    6 ++++++
 src/tracker-miner-fs/modules/applications.c        |   12 ++++++++++++
 src/tracker-miner-fs/modules/evolution-imap.c      |   10 ++++++++++
 src/tracker-miner-fs/modules/evolution-pop.c       |    9 +++++++++
 .../tracker-module-metadata-utils.c                |    4 ++++
 6 files changed, 47 insertions(+), 0 deletions(-)
---
diff --git a/src/plugins/evolution/tracker-evolution-registrar.c b/src/plugins/evolution/tracker-evolution-registrar.c
index e61ee32..dd9077e 100644
--- a/src/plugins/evolution/tracker-evolution-registrar.c
+++ b/src/plugins/evolution/tracker-evolution-registrar.c
@@ -279,6 +279,7 @@ perform_set (TrackerEvolutionRegistrar *object,
 {
 	guint i = 0;
 	TrackerSparqlBuilder *sparql;
+	const gchar *uri = subject;
 
 	sparql = tracker_sparql_builder_new_update ();
 
@@ -296,6 +297,11 @@ perform_set (TrackerEvolutionRegistrar *object,
 	tracker_sparql_builder_predicate (sparql, "rdf:type");
 	tracker_sparql_builder_object (sparql, "nmo:MailboxDataObject");
 
+	/* The URI of the InformationElement should be a UUID URN */
+	tracker_sparql_builder_subject_iri (sparql, subject);
+	tracker_sparql_builder_predicate (sparql, "nie:isStoredAs");
+	tracker_sparql_builder_object_iri (sparql, uri);
+
 	tracker_sparql_builder_subject_iri (sparql, subject);
 	tracker_sparql_builder_predicate_iri (sparql, NIE_DATASOURCE_P);
 	tracker_sparql_builder_object_iri (sparql, DATASOURCE_URN);
diff --git a/src/plugins/kmail/tracker-kmail-registrar.c b/src/plugins/kmail/tracker-kmail-registrar.c
index b4b4e5e..9ce63d3 100644
--- a/src/plugins/kmail/tracker-kmail-registrar.c
+++ b/src/plugins/kmail/tracker-kmail-registrar.c
@@ -162,6 +162,7 @@ perform_set (TrackerKMailRegistrar *object,
 {
 	guint i = 0;
 	TrackerSparqlBuilder *sparql;
+	const gchar *uri = subject;
 
 	sparql = tracker_sparql_builder_new_update ();
 
@@ -179,6 +180,11 @@ perform_set (TrackerKMailRegistrar *object,
 	tracker_sparql_builder_predicate (sparql, "rdf:type");
 	tracker_sparql_builder_object (sparql, "nmo:MailboxDataObject");
 
+	/* The URI of the InformationElement should be a UUID URN */
+	tracker_sparql_builder_subject_iri (sparql, subject);
+	tracker_sparql_builder_predicate (sparql, "nie:isStoredAs");
+	tracker_sparql_builder_object_iri (sparql, uri);
+
 	tracker_sparql_builder_subject_iri (sparql, subject);
 	tracker_sparql_builder_predicate_iri (sparql, NIE_DATASOURCE_P);
 	tracker_sparql_builder_object_iri (sparql, DATASOURCE_URN);
diff --git a/src/tracker-miner-fs/modules/applications.c b/src/tracker-miner-fs/modules/applications.c
index 2e8825a..1ec79e7 100644
--- a/src/tracker-miner-fs/modules/applications.c
+++ b/src/tracker-miner-fs/modules/applications.c
@@ -229,6 +229,7 @@ tracker_application_file_get_metadata (TrackerModuleFile *file, gchar **mime_typ
 	/* This matches SomeApplet as Type= */
 	} else if (name && g_str_has_suffix (type, "Applet")) {
 
+		/* The URI of the InformationElement should be a UUID URN */
 		uri = tracker_module_file_get_uri (file);
 		sparql = tracker_sparql_builder_new_update ();
 		tracker_sparql_builder_insert_open (sparql);
@@ -248,6 +249,7 @@ tracker_application_file_get_metadata (TrackerModuleFile *file, gchar **mime_typ
 
 	if (sparql && uri) {
 		gchar *icon;
+		gchar *desktop_file_uri;
 
 		tracker_sparql_builder_predicate (sparql, "a");
 		tracker_sparql_builder_object (sparql, "nfo:Executable");
@@ -309,6 +311,16 @@ tracker_application_file_get_metadata (TrackerModuleFile *file, gchar **mime_typ
 		tracker_sparql_builder_predicate (sparql, "nfo:fileName");
 		tracker_sparql_builder_object_string (sparql, filename);
 		g_free (filename);
+
+		desktop_file_uri = g_file_get_uri (f);
+		tracker_sparql_builder_subject_iri (sparql, desktop_file_uri);
+		tracker_sparql_builder_predicate (sparql, "a");
+		tracker_sparql_builder_object (sparql, "nfo:FileDataObject");
+
+		tracker_sparql_builder_subject_iri (sparql, uri);
+		tracker_sparql_builder_predicate (sparql, "nie:isStoredAs");
+		tracker_sparql_builder_object_iri (sparql, desktop_file_uri);
+		g_free (desktop_file_uri);
 	}
 
 	if (cats)
diff --git a/src/tracker-miner-fs/modules/evolution-imap.c b/src/tracker-miner-fs/modules/evolution-imap.c
index a48c27b..2e98890 100644
--- a/src/tracker-miner-fs/modules/evolution-imap.c
+++ b/src/tracker-miner-fs/modules/evolution-imap.c
@@ -918,6 +918,16 @@ get_message_metadata (TrackerModuleFile *file)
 		tracker_sparql_builder_predicate (sparql, "a");
 		tracker_sparql_builder_object (sparql, "nmo:Email");
 
+
+		tracker_sparql_builder_subject_iri (sparql, uri);
+		tracker_sparql_builder_predicate (sparql, "rdf:type");
+		tracker_sparql_builder_object (sparql, "nmo:MailboxDataObject");
+
+		/* The URI of the InformationElement should be a UUID URN */
+		tracker_sparql_builder_subject_iri (sparql, uri);
+		tracker_sparql_builder_predicate (sparql, "nie:isStoredAs");
+		tracker_sparql_builder_object_iri (sparql, uri);
+
 		tracker_sparql_builder_predicate (sparql, "nmo:sentDate");
 		tracker_sparql_builder_object_date (sparql, &t);
 
diff --git a/src/tracker-miner-fs/modules/evolution-pop.c b/src/tracker-miner-fs/modules/evolution-pop.c
index ecfbd8d..2f35d6f 100644
--- a/src/tracker-miner-fs/modules/evolution-pop.c
+++ b/src/tracker-miner-fs/modules/evolution-pop.c
@@ -344,6 +344,15 @@ get_message_metadata (TrackerModuleFile *file, GMimeMessage *message)
 	tracker_sparql_builder_predicate (sparql, "a");
 	tracker_sparql_builder_object (sparql, "nmo:Email");
 
+	tracker_sparql_builder_subject_iri (sparql, uri);
+	tracker_sparql_builder_predicate (sparql, "rdf:type");
+	tracker_sparql_builder_object (sparql, "nmo:MailboxDataObject");
+
+	/* The URI of the InformationElement should be a UUID URN */
+	tracker_sparql_builder_subject_iri (sparql, uri);
+	tracker_sparql_builder_predicate (sparql, "nie:isStoredAs");
+	tracker_sparql_builder_object_iri (sparql, uri);
+
 	g_mime_message_get_date (message, &t, NULL);
 	tracker_sparql_builder_predicate (sparql, "nmo:sentDate");
 	tracker_sparql_builder_object_date (sparql, &t);
diff --git a/src/tracker-miner-fs/tracker-module-metadata-utils.c b/src/tracker-miner-fs/tracker-module-metadata-utils.c
index 3fe867a..0ecd315 100644
--- a/src/tracker-miner-fs/tracker-module-metadata-utils.c
+++ b/src/tracker-miner-fs/tracker-module-metadata-utils.c
@@ -783,6 +783,10 @@ tracker_module_metadata_utils_get_data (GFile *file, TrackerSparqlBuilder *sparq
 	tracker_sparql_builder_predicate (sparql, "a");
 	tracker_sparql_builder_object (sparql, "nfo:FileDataObject");
 
+	tracker_sparql_builder_subject_iri (sparql, uri); /* Change to URN */
+	tracker_sparql_builder_predicate (sparql, "nie:isStoredAs");
+	tracker_sparql_builder_object_iri (sparql, uri);
+
 	if (g_file_info_get_file_type (file_info) == G_FILE_TYPE_DIRECTORY) {
 		tracker_sparql_builder_object (sparql, "nfo:Folder");
 	}



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