[tracker] Fixed nco:hasAffiliation in TIFF and JPEG extractors
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] Fixed nco:hasAffiliation in TIFF and JPEG extractors
- Date: Mon, 25 Jan 2010 11:51:22 +0000 (UTC)
commit 07580f1fbf179924e81b62e97fce08dbe3ce316c
Author: Philip Van Hoof <philip codeminded be>
Date: Mon Jan 25 12:51:02 2010 +0100
Fixed nco:hasAffiliation in TIFF and JPEG extractors
src/tracker-extract/tracker-extract-jpeg.c | 34 ++++++++++++++++++--------
src/tracker-extract/tracker-extract-tiff.c | 35 ++++++++++++++++++---------
2 files changed, 46 insertions(+), 23 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c
index a2dc6a7..d467ec3 100644
--- a/src/tracker-extract/tracker-extract-jpeg.c
+++ b/src/tracker-extract/tracker-extract-jpeg.c
@@ -341,17 +341,6 @@ extract_jpeg (const gchar *uri,
g_free (id.contact);
}
- if (id.byline_title) {
- tracker_sparql_builder_predicate (metadata, "nco:hasAffiliation");
- tracker_sparql_builder_object_blank_open (metadata);
- tracker_sparql_builder_predicate (metadata, "a");
- tracker_sparql_builder_object (metadata, "nco:Affiliation");
- tracker_sparql_builder_predicate (metadata, "nco:title");
- tracker_sparql_builder_object_unvalidated (metadata, id.byline_title);
- tracker_sparql_builder_object_blank_close (metadata);
- g_free (id.byline_title);
- }
-
if (xd.keywords) {
insert_keywords (metadata, xd.keywords);
g_free (xd.keywords);
@@ -533,16 +522,39 @@ extract_jpeg (const gchar *uri,
}
if (md.creator) {
+
+ if (id.byline_title) {
+ tracker_sparql_builder_subject (metadata, "_:affiliation_by_line");
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nco:Affiliation");
+
+ tracker_sparql_builder_subject (metadata, "_:affiliation_by_line");
+ tracker_sparql_builder_predicate (metadata, "nco:title");
+ tracker_sparql_builder_object_unvalidated (metadata, id.byline_title);
+
+ tracker_sparql_builder_subject_iri (metadata, uri);
+ }
+
tracker_sparql_builder_predicate (metadata, "nco:creator");
tracker_sparql_builder_object_blank_open (metadata);
tracker_sparql_builder_predicate (metadata, "a");
tracker_sparql_builder_object (metadata, "nco:Contact");
tracker_sparql_builder_predicate (metadata, "nco:fullname");
tracker_sparql_builder_object_unvalidated (metadata, md.creator);
+
+ if (id.byline_title) {
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nco:PersonContact");
+ tracker_sparql_builder_predicate (metadata, "nco:hasAffiliation");
+ tracker_sparql_builder_object (metadata, "_:affiliation_by_line");
+ }
+
tracker_sparql_builder_object_blank_close (metadata);
g_free (md.creator);
}
+ g_free (id.byline_title);
+
if (md.comment) {
tracker_sparql_builder_predicate (metadata, "nie:comment");
tracker_sparql_builder_object_unvalidated (metadata, md.comment);
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index 51a3fdd..31d5408 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -497,16 +497,6 @@ extract_tiff (const gchar *uri, TrackerSparqlBuilder *metadata)
g_free (iptc_data.contact);
}
- if (iptc_data.byline_title) {
- tracker_sparql_builder_predicate (metadata, "nco:hasAffiliation");
- tracker_sparql_builder_object_blank_open (metadata);
- tracker_sparql_builder_predicate (metadata, "a");
- tracker_sparql_builder_object (metadata, "nco:Affiliation");
- tracker_sparql_builder_predicate (metadata, "nco:title");
- tracker_sparql_builder_object_unvalidated (metadata, iptc_data.byline_title);
- tracker_sparql_builder_object_blank_close (metadata);
- g_free (iptc_data.byline_title);
- }
if (xmp_data.publisher) {
tracker_sparql_builder_predicate (metadata, "nco:publisher");
@@ -700,17 +690,38 @@ extract_tiff (const gchar *uri, TrackerSparqlBuilder *metadata)
}
if (merge_data.creator) {
- tracker_sparql_builder_predicate (metadata, "nco:creator");
+ if (iptc_data.byline_title) {
+ tracker_sparql_builder_subject (metadata, "_:affiliation_by_line");
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nco:Affiliation");
+
+ tracker_sparql_builder_subject (metadata, "_:affiliation_by_line");
+ tracker_sparql_builder_predicate (metadata, "nco:title");
+ tracker_sparql_builder_object_unvalidated (metadata, iptc_data.byline_title);
+
+ tracker_sparql_builder_subject_iri (metadata, uri);
+ }
+
+ tracker_sparql_builder_predicate (metadata, "nco:creator");
tracker_sparql_builder_object_blank_open (metadata);
tracker_sparql_builder_predicate (metadata, "a");
tracker_sparql_builder_object (metadata, "nco:Contact");
-
tracker_sparql_builder_predicate (metadata, "nco:fullname");
tracker_sparql_builder_object_unvalidated (metadata, merge_data.creator);
+
+ if (iptc_data.byline_title) {
+ tracker_sparql_builder_predicate (metadata, "a");
+ tracker_sparql_builder_object (metadata, "nco:PersonContact");
+ tracker_sparql_builder_predicate (metadata, "nco:hasAffiliation");
+ tracker_sparql_builder_object (metadata, "_:affiliation_by_line");
+ }
+
tracker_sparql_builder_object_blank_close (metadata);
g_free (merge_data.creator);
}
+
+ g_free (iptc_data.byline_title);
}
TrackerExtractData *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]