qudt / qudt-public-repo

QUDT -Quantities, Units, Dimensions and dataTypes - public repository
Other
114 stars 71 forks source link

Dimension vector for quantitykind:Viscosity #565

Open mgberg opened 2 years ago

mgberg commented 2 years ago

https://github.com/qudt/qudt-public-repo/blob/be1e575e074088c59856c15db6047a7fd9e6372d/vocab/quantitykinds/VOCAB_QUDT-QUANTITY-KINDS-ALL-v2.1.ttl#L17479-L17485

quantitykind:Viscosity has no dimension vector. Note that:

Given that broader quantity kinds should have the same dimensionality, what should be done about quantitykind:Viscosity? It seems that it can't have a dimension vector and also be broader than quantitykind:KinematicViscosity.

steveraysteveray commented 1 year ago

Viscosity is indeed our illustrative example of the case where a skos:broader concept is an abstraction of several other quantity kinds with dissimilar dimension vectors. Our policy is to have no dimension vector for abstract quantity kinds like this. (I note that MolecularViscosity still needs a dimension vector, which I currently believe is the same as DynamicViscosity). Willing to be convinced otherwise, though!

mgberg commented 1 year ago

@steveraysteveray Just thought of a follow-up question about this. The class qudt:AbstractQuantityKind exists; how is that class intended to be used, and should quantitykind:Viscosity be explicitly an instance of that instead of qudt:QuantityKind?

steveraysteveray commented 1 year ago

Good old semantics. You just made me realize that we use the word "abstract" in two ways.

  1. Here is a class that should not be instantiated
  2. Here is a superclass placeholder to put a bunch of properties that will be inherited by the subclasses

qudt:AbstractQuantityKind falls into the second category and contains a bunch of additional properties.

You've got me thinking, though, as to whether we should consider refactoring those classes so that qudt:AbstractQuantityKind could satisfy both of the above cases. It might be good to be more explicit about when a quantity kind is an "abstraction" of several subclasses with different dimension vectors, beyond just not listing a dimension vector.

So stay tuned... and thanks!