[tracker/uuid-geo-stuff: 7/7] tracker-extract: tiff: Fixed nested use of anonymous blank nodes



commit 11bafc88faeabff9b37d4435b951fe26fe07f4dc
Author: Philip Van Hoof <philip codeminded be>
Date:   Wed Nov 24 15:13:59 2010 +0100

    tracker-extract: tiff: Fixed nested use of anonymous blank nodes
    
    Fixes NB#202291

 src/tracker-extract/tracker-extract-tiff.c |   37 ++++++++++++++++-----------
 1 files changed, 22 insertions(+), 15 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-tiff.c b/src/tracker-extract/tracker-extract-tiff.c
index e2a06c9..4273a05 100644
--- a/src/tracker-extract/tracker-extract-tiff.c
+++ b/src/tracker-extract/tracker-extract-tiff.c
@@ -469,11 +469,13 @@ extract_tiff (const gchar          *uri,
 	}
 
 	if (md.city || md.state || md.address || md.country) {
+		gchar *addruri;
+
 		tracker_sparql_builder_predicate (metadata, "mlo:location");
 
 		tracker_sparql_builder_object_blank_open (metadata);
 		tracker_sparql_builder_predicate (metadata, "a");
-		tracker_sparql_builder_object (metadata, "mlo:GeoPoint");
+		tracker_sparql_builder_object (metadata, "mlo:GeoPoint"); /* GeoPoint */
 
 		if (md.address) {
 			tracker_sparql_builder_predicate (metadata, "mlo:address");
@@ -495,35 +497,40 @@ extract_tiff (const gchar          *uri,
 			tracker_sparql_builder_object_unvalidated (metadata, md.country);
 		}
 
+		addruri = tracker_sparql_get_uuid_urn ("postal-address");
+
 		tracker_sparql_builder_predicate (metadata, "mlo:asPostalAddress");
-		tracker_sparql_builder_object_blank_open (metadata); /* PostalAddress */
+		tracker_sparql_builder_object_iri (metadata, addruri);
 
-		tracker_sparql_builder_predicate (metadata, "a");
-		tracker_sparql_builder_object (metadata, "nco:PostalAddress");
+		tracker_sparql_builder_object_blank_close (metadata); /* GeoPoint */
+
+		tracker_sparql_builder_insert_open (preupdate, NULL);
+		tracker_sparql_builder_subject_iri (preupdate, addruri);
+
+		tracker_sparql_builder_predicate (preupdate, "a");
+		tracker_sparql_builder_object (preupdate, "nco:PostalAddress");
 
 		if (md.address) {
-			tracker_sparql_builder_predicate (metadata, "nco:streetAddress");
-			tracker_sparql_builder_object_unvalidated (metadata, md.address);
+			tracker_sparql_builder_predicate (preupdate, "nco:streetAddress");
+			tracker_sparql_builder_object_unvalidated (preupdate, md.address);
 		}
 
 		if (md.state) {
-			tracker_sparql_builder_predicate (metadata, "nco:region");
-			tracker_sparql_builder_object_unvalidated (metadata, md.state);
+			tracker_sparql_builder_predicate (preupdate, "nco:region");
+			tracker_sparql_builder_object_unvalidated (preupdate, md.state);
 		}
 
 		if (md.city) {
-			tracker_sparql_builder_predicate (metadata, "nco:locality");
-			tracker_sparql_builder_object_unvalidated (metadata, md.city);
+			tracker_sparql_builder_predicate (preupdate, "nco:locality");
+			tracker_sparql_builder_object_unvalidated (preupdate, md.city);
 		}
 
 		if (md.country) {
-			tracker_sparql_builder_predicate (metadata, "nco:country");
-			tracker_sparql_builder_object_unvalidated (metadata, md.country);
+			tracker_sparql_builder_predicate (preupdate, "nco:country");
+			tracker_sparql_builder_object_unvalidated (preupdate, md.country);
 		}
 
-		tracker_sparql_builder_object_blank_close (metadata); /* PostalAddress */
-
-		tracker_sparql_builder_object_blank_close (metadata);
+		tracker_sparql_builder_insert_close (preupdate);
 	}
 
 	if (id->contact) {



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