Moving Measurement to PropertyValue
While addressing Issue #7, 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.