diff options
author | Philip Van Hoof <philip@codeminded.be> | 2010-11-24 14:59:31 +0100 |
---|---|---|
committer | Philip Van Hoof <philip@codeminded.be> | 2010-11-24 15:58:10 +0100 |
commit | f569909a00250bc970974c81cc58500ce6de76b8 (patch) | |
tree | 6e0474393c572ddb52d850d3c1b174c836a7730f | |
parent | 812125518d1c8e919ffa60141fa8e75b4fe6b63b (diff) | |
download | tracker-f569909a00250bc970974c81cc58500ce6de76b8.tar.gz |
tracker-extract: jpeg: Fixed nested use of anonymous blank nodes
Fixes NB#202291
-rw-r--r-- | src/tracker-extract/tracker-extract-jpeg.c | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/src/tracker-extract/tracker-extract-jpeg.c b/src/tracker-extract/tracker-extract-jpeg.c index fea486ae8..5ef416648 100644 --- a/src/tracker-extract/tracker-extract-jpeg.c +++ b/src/tracker-extract/tracker-extract-jpeg.c @@ -30,8 +30,8 @@ #include <jpeglib.h> #include <libtracker-common/tracker-common.h> - #include <libtracker-extract/tracker-extract.h> +#include <libtracker-sparql/tracker-sparql.h> #include "tracker-main.h" @@ -536,6 +536,8 @@ extract_jpeg (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); /* GeoPoint */ @@ -562,34 +564,41 @@ extract_jpeg (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); /* GeoPoint */ + tracker_sparql_builder_insert_close (preupdate); + } if (cinfo.density_unit != 0 || ed->x_resolution) { |