Closed VladimirAlexiev closed 1 year ago
Examination of https://qudt.org/2.1/vocab/quantitykind shows no inheritance in either direction, eg
quantitykind:AbsoluteActivity skos:broader quantitykind:InverseVolume
AbsoluteActivity
has only one applicableUnit: unit:BQ-SEC-PER-M3
InverseVolume
has many, but not that one:
qudt:applicableUnit unit:PER-CentiM3 ;
qudt:applicableUnit unit:PER-FT3 ;
qudt:applicableUnit unit:PER-IN3 ;
qudt:applicableUnit unit:PER-L ;
qudt:applicableUnit unit:PER-M3 ;
qudt:applicableUnit unit:PER-MilliM3 ;
qudt:applicableUnit unit:PER-YD3 ;
Hi. We documented our approach here and, as you point out, in Issue #272 . The description illustrates one reason (using the case of AC power) why we don't want to use fully transitive inheritance. Specifically, while reactive power is a specialization of the more general power quantity kind, it is not correct to use the more general units (watts) when describing a value.
You are correct that we had in the past used appropriateUnit, specialization, generalization, all of which have been retired from use in the vocabularies. We should mark them as deprecated in the schema files.
We never did come to complete closure on Issue #272...
Thanks @steveraysteveray, that's a great answer.
More considerations:
qudt:applicableUnit
is computed from qudt:hasQuantityKind
and then materialized" to the documentation of qudt:applicableUnitqudt:isQuantityKindOf
is a strict inverse of qudt:hasQuantityKind
. However, it does not express all possible allowed pairs of qudt:Unit
and qudt:QuantityKind
. See qudt:applicableUnit
for a property that expresses all such pairs" to the documentation of qudt:isQuantityKindOf.generalization/specialization
are not used anywhere, so I think it's better to delete them.
If you decide to deprecate instead, please delete the misleading sentences 1,2 from its descriptionGood suggestions. Assuming our Board is on board (heh heh), I'll make the changes. (Except I'll just deprecate the generalization/specialization just in case someone out there is using them. We're trying to never delete unless absolutely necessary).
Resolved in #721
If QuantityKind A ahs parent B (
A skos:broader B
), then does A inheritqudt:applicableUnit
from its parent, or should A enumerate and repeat allapplicableUnit
?skos:broader
is used instead ofqudt:generalization
, but the question still appliesqudt:applicableUnit
and a number of subprops thereof: SCHEMA_QUDT-v2.1.ttl#L1965C1-L1970)QuantityKind
whether any inheritance (down the hierarchy) or "collection" (up the hierarchy) is intended?