From 8a0f1647f286febd2c4ddb363bb6eaddaeaee5f4 Mon Sep 17 00:00:00 2001 From: Matthias Bodenbenner <m.bodenbenner@wzl-mq.rwth-aachen.de> Date: Fri, 22 Mar 2024 10:20:35 +0100 Subject: [PATCH] fixed unit handling for the metadata provisioning --- README.md | 5 ++++- setup.py | 2 +- src/soil/measurement.py | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3c80a84..bdae4e4 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 445975f..c7cf529 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 9160e3d..5fb91c5 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)) -- GitLab