Closed VladimirAlexiev closed 3 months ago
It's true that, under the schema, an issuer could say "length":{"value":10,"unit":"KGM"}
which would technically valid (because KGM is a valid Rec20 code) but semantically nonsense because you obviously don't measure length in kilograms. But whilst I agree, I also dont think it's UNTP's job to define an entire ontology that defines which units can be used for what kind of measure. This argument applies everywhere. For example an issuer might define an address with country code "NZ" and state "NSW" which would also be technically valid but semantically wrong because New South Wales in in Australia not New Zealand. Where do we stop?
I think we have to assume that issuers will put sensible data within reason.
I'm not asking you to make a UoM ontology but to use one properly.
weight, height
etc then use a straight number, and add the unit in the prop, eg:
dpp:weight a owl:DatatypeProperty; dpp:unit "KGM".
Measure
node then have only one incoming prop, and put all measure details inside the node
measure
prop): then why duplicate it partially by using the specific props?New South Wales in in Australia not New Zealand
Well then, don't use text fields like countryCode, stateCode
. Use a class Place
and a world gazetteer like Geonames.
untp-core:Dimension
is currently a parasitic node because it has no payload except some outgoing relations:ProductPassport - dimension - Dimension - (weight, height, etc) - Measure
Measure
is doubtful because its specific incoming props (weight, height, etc) can be contradicted byunit
. There's nothing stopping data from looking like this:IMHO it's better to roll the specific prop (called quantityKind in QUDT) into Measure, eg:
It's still possible to have a contradiction in
quantityKind
andunit
but:quantityKind-units
. (UNCEFACT Rec20 is not an ontology because it doesn't have these combinations, and the dimensionVector for each quantityKind)