Skip to content

Commit dd1d030

Browse files
author
red-ship-it
committed
Fixing xsd types for some of the rdfliterals
1 parent a4a3113 commit dd1d030

File tree

2 files changed

+212
-209
lines changed

2 files changed

+212
-209
lines changed

exifread_case/exifread_case.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)