summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Van Hoof <philip@codeminded.be>2010-11-24 15:12:53 +0100
committerPhilip Van Hoof <philip@codeminded.be>2010-11-24 15:58:10 +0100
commit37cc69997955dd379f16ddd77380ff226f71286b (patch)
tree7fb85fa8d33fa43a83a486f7806450b51dbb812d
parent2ac2b8d15605e980e5e43c9f700d16b403b76245 (diff)
downloadtracker-37cc69997955dd379f16ddd77380ff226f71286b.tar.gz
tracker-extract: pdf: Fixed nested use of anonymous blank nodes
Fixes NB#202291
-rw-r--r--src/tracker-extract/tracker-extract-pdf.cpp37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/tracker-extract/tracker-extract-pdf.cpp b/src/tracker-extract/tracker-extract-pdf.cpp
index cec2ef34d..5118f781f 100644
--- a/src/tracker-extract/tracker-extract-pdf.cpp
+++ b/src/tracker-extract/tracker-extract-pdf.cpp
@@ -740,11 +740,13 @@ extract_pdf (const gchar *uri,
}
if (xd->address || xd->country || xd->city) {
+ 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 (xd->address) {
tracker_sparql_builder_predicate (metadata, "mlo:address");
@@ -766,35 +768,40 @@ extract_pdf (const gchar *uri,
tracker_sparql_builder_object_unvalidated (metadata, xd->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 (xd->address) {
- tracker_sparql_builder_predicate (metadata, "nco:streetAddress");
- tracker_sparql_builder_object_unvalidated (metadata, xd->address);
+ tracker_sparql_builder_predicate (preupdate, "nco:streetAddress");
+ tracker_sparql_builder_object_unvalidated (preupdate, xd->address);
}
if (xd->state) {
- tracker_sparql_builder_predicate (metadata, "nco:region");
- tracker_sparql_builder_object_unvalidated (metadata, xd->state);
+ tracker_sparql_builder_predicate (preupdate, "nco:region");
+ tracker_sparql_builder_object_unvalidated (preupdate, xd->state);
}
if (xd->city) {
- tracker_sparql_builder_predicate (metadata, "nco:locality");
- tracker_sparql_builder_object_unvalidated (metadata, xd->city);
+ tracker_sparql_builder_predicate (preupdate, "nco:locality");
+ tracker_sparql_builder_object_unvalidated (preupdate, xd->city);
}
if (xd->country) {
- tracker_sparql_builder_predicate (metadata, "nco:country");
- tracker_sparql_builder_object_unvalidated (metadata, xd->country);
+ tracker_sparql_builder_predicate (preupdate, "nco:country");
+ tracker_sparql_builder_object_unvalidated (preupdate, xd->country);
}
- tracker_sparql_builder_object_blank_close (metadata); /* PostalAddress */
-
- tracker_sparql_builder_object_blank_close (metadata);
+ tracker_sparql_builder_insert_close (preupdate);
}
/* PDF keywords aren't used ATM (why not?) */