Mapping with other existing vocabularies or controlled vocabularies
Opened this issue · 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
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?
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.
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!
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
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
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.
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
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
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.
...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.
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