diff --git a/README.md b/README.md index 3c80a843e98a72ba2543f8fcf9a8feeae08127fc..bdae4e44d582bfdfc2fd0a1c25e52690f9afdef2 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [](https://git-ce.rwth-aachen.de/wzl-mq-ms/forschung-lehre/lava/unified-device-interface/python/commits/master) # Python Unified Device Interface -Current stable version: 10.0.6 +Current stable version: 10.0.7 ## Installation 1. Install the WZL-UDI package via pip @@ -69,6 +69,9 @@ Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) ## Recent changes +**10.0.7** - 2024-03-22 + - fixed unit handling for the metadata provisioning + **10.0.6** - 2024-03-22 - fixed validation of rfc3339 datetime strings diff --git a/setup.py b/setup.py index 445975fe1a1aca5e3f9100a77e5755cf88c2bfad..c7cf529816bfcf70e5213108c3edb2b2c8865151 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() setup(name='wzl-udi', - version='10.0.6', + version='10.0.7', url='https://git-ce.rwth-aachen.de/wzl-mq-public/soil/python', project_urls={ "Bug Tracker": "https://git-ce.rwth-aachen.de/wzl-mq-public/soil/python/-/issues", diff --git a/src/soil/measurement.py b/src/soil/measurement.py index 9160e3d5baf0e8c072824cd6fc9421f0c30ab315..5fb91c50c3646ad98ba8ecad9ae00dd10fdbe236 100644 --- a/src/soil/measurement.py +++ b/src/soil/measurement.py @@ -238,11 +238,12 @@ class Measurement(Variable): # create result node unit_triples = list(self._metadata.triples((None, Namespaces.qudt.applicableUnit, None))) - assert len(unit_triples) == 1 + assert self.datatype in [Datatype.STRING, Datatype.ENUM, Datatype.BOOLEAN, Datatype.TIME] or len(unit_triples) == 1 data_graph.add((result_subject, Namespaces.rdf.type, rdflib.URIRef(Namespaces.sosa.Result))) data_graph.add((result_subject, Namespaces.sosa.isResultOf, measurement_subject)) - data_graph.add((result_subject, Namespaces.qudt.unit, unit_triples[0][2])) + if len(unit_triples) == 1: + data_graph.add((result_subject, Namespaces.qudt.unit, unit_triples[0][2])) data_graph.add((result_subject, Namespaces.schema.license, Semantics.data_license)) rdf_value = self.serialize_value(data_graph, self.__getitem__('value', 0))