@@ -227,25 +227,26 @@ def raster_object_to_node(graph, controlled_dict, n_raster_facets, file_informat
227227 NS_UCO_OBSERVABLE .pictureType ,
228228 rdflib .Literal (file_ext )
229229 ))
230+ # :TODO The below feels a bit hacky probably a better way to do it
230231 if 'EXIF ExifImageLength' in controlled_dict .keys ():
231232 graph .add ((
232233 n_raster_facets ,
233234 NS_UCO_OBSERVABLE .pictureHeight ,
234- rdflib .term .Literal (str (controlled_dict ['EXIF ExifImageLength' ]),
235+ rdflib .term .Literal (int ( float ( str (controlled_dict ['EXIF ExifImageLength' ])) ),
235236 datatype = NS_XSD .integer )
236237 ))
237238 if 'EXIF ExifImageWidth' in controlled_dict .keys ():
238239 graph .add ((
239240 n_raster_facets ,
240241 NS_UCO_OBSERVABLE .pictureWidth ,
241- rdflib .term .Literal (str (controlled_dict ['EXIF ExifImageWidth' ]),
242+ rdflib .term .Literal (int ( float ( str (controlled_dict ['EXIF ExifImageWidth' ])) ),
242243 datatype = NS_XSD .integer )
243244 ))
244245 if 'EXIF CompressedBitsPerPixel' in controlled_dict .keys ():
245246 graph .add ((
246247 n_raster_facets ,
247248 NS_UCO_OBSERVABLE .bitsPerPixel ,
248- rdflib .term .Literal (str (controlled_dict ['EXIF CompressedBitsPerPixel' ]),
249+ rdflib .term .Literal (int ( float ( str (controlled_dict ['EXIF CompressedBitsPerPixel' ])) ),
249250 datatype = NS_XSD .integer )
250251 ))
251252 graph .add ((
@@ -281,7 +282,9 @@ def controlled_dictionary_object_to_node(graph, controlled_dict, n_exif_facet):
281282 NS_UCO_TYPES .ControlledDictionary
282283 ))
283284 for key in sorted (controlled_dict .keys ()):
284- v_value = controlled_dict [key ]
285+ # :TODO stringing all values to ensure they are strings, open to input
286+ # here as maybe assertion or a better way to do this
287+ v_value = str (controlled_dict [key ])
285288 v_value = rdflib .Literal (v_value )
286289 try :
287290 assert isinstance (v_value , rdflib .Literal )
0 commit comments