Scheduled maintenance on Saturday, 27 September 2025, from 07:00 AM to 4:00 PM GMT (09:00 AM to 6:00 PM CEST) - some services may be unavailable -

Skip to content

Moving Measurement to PropertyValue

While addressing Issue #7 (closed), I noticed that, given the patterns provided in TS 103 548 and the updated definitions provided in SAREF Core v4.1.1, the Measurement concept is deprecated. Hence, I suppose that the deprecation of all usages of the Measurement concept should be propagated to all extensions and replaced with the adoption of the PropertyValue concept as shown in Clauses 5.2.2.2 and 5.6.4 of TS 103 548. However, there are a couple of aspects that made me doubtful about how to proceed. Let me use this example, the definition of the VibrationIsolator concept:

s4bldg:VibrationIsolator rdf:type owl:Class ;
      rdfs:subClassOf saref:Device ,
            [ rdf:type owl:Restriction ;
              owl:onProperty s4bldg:height ;
              owl:allValuesFrom saref:Measurement
            ] ,
            [ rdf:type owl:Restriction ;
              owl:onProperty s4bldg:isolatorCompressibility ;
              owl:allValuesFrom saref:Measurement
            ] ,
            [ rdf:type owl:Restriction ;
              owl:onProperty s4bldg:isolatorStaticDeflection ;
              owl:allValuesFrom saref:Measurement
            ] ,
            [ rdf:type owl:Restriction ;
              owl:onProperty s4bldg:supportedWeightMax ;
              owl:allValuesFrom saref:Measurement
            ] ,
            [ rdf:type owl:Restriction ;
              owl:onProperty s4bldg:vibrationTransmissibility ;
              owl:allValuesFrom saref:Measurement
            ] ;
[the labels and comments are omitted]

Since the concept Measurement is deprecated in favor of the adoption of the PropertyValue one, my doubts, after checking also the TS 103 548, are the following.

Doubt 1: Is it enough to replace saref:Measurement with saref:PropertyValue in the concepts' definition like the one shown above? I guess that the answer is No because in this case, we should also re-define the properties (e.g., supportedWeightMax as a subclass of hasPropertyValue, but this operation is forbidden due to what is explained in Clause 5.6.5 of TS 103 548.

Doubt 2: Is it necessary to define subclasses of saref:PropertyValue by starting from the property names like the ones shown above? This means that, for example, the block with supportedWeightMax would be updated as follows:

[ rdf:type owl:Restriction ;
  owl:onProperty saref:hasPropertyValue ;
  owl:allValuesFrom s4bldg:supportedWeightMax
] ,

where s4bldg:supportedWeightMax would be a subclass of saref:PropertyValue. Probably, this second option is the more correct.

Please let me know what do you think.

Edited by Mauro Dragoni