[tracker] Using nie:isStoredAs property
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Subject: [tracker] Using nie:isStoredAs property
- Date: Mon, 13 Jul 2009 13:58:28 +0000 (UTC)
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]