OM icon indicating copy to clipboard operation
OM copied to clipboard

Mapping with other existing vocabularies or controlled vocabularies

Open EmidioStani opened this issue 2 years ago • 11 comments

It might be worth to do some mapping between OM and QUDT: for example could qudt:QuantityValue be mapped to om:Measure ?

There are also other works that I spot at European level:

  • Publications Office of EU, see: https://op.europa.eu/en/web/eu-vocabularies/dataset/-/resource?uri=http://publications.europa.eu/resource/dataset/measurement-unit

where units of measurement are expressed as skos:Concept thus there it might be need to enlarge the range of om:hasUnit to let implementers choose their controlled vocabularies

  • INSPIRE, see: http://inspire-eu-rdf.github.io/inspire-rdf-guidelines/#ref_cr_types_table_mapping_iso19103 which maps concept of ISO Length (and others) with a base:Measure which is expressed as a rdfs:dataType

EmidioStani avatar Dec 12 '22 13:12 EmidioStani

Hi Emidio, Thanx, these are good suggestions! :) OM and QUDT differ somewhat, but they can still be linked as much as possible. Indeed QuantityValue and Measure are similar, I think. And thanx for the links. I think we should do something with the EU link. It seems some kind of standard. I have to dive into INSPIRE more deeply. At first sight seems like an initiative looking for available standards concerning units and the like. Am I correct?

HajoRijgersberg avatar Dec 19 '22 09:12 HajoRijgersberg

Hello @HajoRijgersberg ,

INSPIRE is a EU directive, implemented first in XML and after they created a rdf guideline, I see they used the concept of base: Measure aligning to the ISO GML standard terminology; so in terms of label,it is similar to OM, however it doesn't define a more granular level.

In the meantime, the Publications Office of the EU provides many code list as skos Concepts, I do use them as I am editor for some specifications of the European Commission, see https://github.com/SEMICeu These code list are well maintained and in general I suggest to use them to increase interoperability among Member States. For a project, I discovered your and I thought that it could nice to enlarge the range of om:hasUnit to reuse other concepts.

For the mapping, I have seen that in QUDT they take in account wikidata.

EmidioStani avatar Dec 19 '22 11:12 EmidioStani

Hi @EmidioStani , thanx for your response and sorry for my late response back. I have had some very very busy weeks! That seems interesting, ISPIRE. So they only defined Measure? Impressive, https://github.com/SEMICeu, and indeed these code lists seem very interesting to link to. Do you perhaps have a link to these lists? And indeed, linking to wikidata is also very interesting. Many good ideas, thanx for your attention! :) And looking forward to your response of course!

HajoRijgersberg avatar Jan 03 '23 13:01 HajoRijgersberg

Hello @HajoRijgersberg ,

sorry if I reply now. The lists can be found at https://op.europa.eu/en/web/eu-vocabularies/authority-tables As you can see, they are all instances of skos:Concept, that is why enlarge the value of om:hasUnit could be useful

EmidioStani avatar Mar 02 '23 23:03 EmidioStani

Hi Emidio,

Thanx so much! :) This is really great stuff! I would like to link to these units, and - moreover - incorporate information in OM. Is that allowed? An do you have such information for quantities (e.g. length, mass) as well? Finally a more detailed question, just for my understanding: do I see correctly that the different files contain the same information but in different formats? As to extending the range of om:hasUnit: it is better to link to the units in your lists, I think. That property is for use in OM, restricting to units rather than concepts in general, like skos:Concept. See what I mean?

Thanx again for your response in advance!

Best, Hajo

HajoRijgersberg avatar Mar 05 '23 16:03 HajoRijgersberg

Hello @HajoRijgersberg ,

nice is to hear! the measurement unit are uploaded on data.europa.eu: https://data.europa.eu/data/datasets/measurement-unit?locale=en, in the licence metadata there is:

"According to the European Commission reuse notice, reuse is authorised, provided the source is acknowledged."

Yes indeed they are provided in different format or distributions (genericode, skos, etc.)

What i was thinking, like for tte om:haNumericalValue, which doesn't have range (so you can put double, float, etc), it would be nice to remove it from om:hasUnit otherwise I would need to create my:hasUnit property.

EmidioStani avatar Mar 08 '23 09:03 EmidioStani

Hi Emidio, Thanx, I'll certainly do that, acknowledge the source! Ah, that would unfortunately be a problem for OM itself, and users of OM, as the om:hasUnit property with its range can be used for integrity checks, validation. Could you perhaps extend the range of om:hasUnit in your ontology? But it's an interesting issue that you raise! I hope also others read this conversation and have valuable hints. Looking forward to your response! :)

Best, Hajo

HajoRijgersberg avatar Mar 11 '23 18:03 HajoRijgersberg

Hello @HajoRijgersberg ,

I understand you.

However, adding a range in om:hasUnit (or creating by creating a subPropertyOf) would result in the intersection of the 2 ranges (see https://www.w3.org/TR/owl-ref/#range-def) , thus creating undesired results, at that point I would prefer to create my own relation; the other way would be, ignoring the range and enforce validation with SHACL instead of using ranges but then the meaning is forced to something else.

Let's see if other people will need it

EmidioStani avatar Mar 21 '23 15:03 EmidioStani

Hi @EmidioStani , Ah, I didn't know that (intersection of ranges), how surprising actually. I have done a quick search, but it appears that indeed there are no ways to really extend a range (union rather than intersection), at least I didn't find anything in that direction. The enforced validation through SHACL seems somewhat like a workaround, having to disregard defined ranges... :/ Maybe for now defining your own property seems like the best solution, also because it will have its own ranges and thus distinguishes itself from om:hasUnit.

I (still) hope that someone else has a good (other) idea here.

HajoRijgersberg avatar Mar 24 '23 15:03 HajoRijgersberg

...but it appears that indeed there are no ways to really extend a range (union rather than intersection), at least I didn't find anything in that direction.

I am not an expert myself, but you might check out owl:unionOf to extend the range without inferring anything about the set of classes.

fosterlynn avatar Jul 30 '23 19:07 fosterlynn

Hi Lynn, Thanx for your suggestion! (And sorry for my late reply). Unfortunately, the new range of the subclass using unionOf would result in the intersection of the two ranges of the superclass and the subclass. @EmidioStani pointed this out above, with a ref: https://www.w3.org/TR/owl-ref/#range-def. But thanx anyway, one never knows in advance if a suggestion may be the solution to a problem! :) Cheers, Hajo

HajoRijgersberg avatar Aug 03 '23 21:08 HajoRijgersberg