GithubHelp home page GithubHelp logo

om's Introduction

OM – Ontology of units of Measure

Ontologie d'unités de Mesures   Ontologie der Maßeinheiten   Ontologie van Maateenheden   測定単位のオントロジ

The Ontology of units of Measure (OM) 2.0 models concepts and relations that underlie the formulation of quantitative knowledge in scientific research. It has a strong focus on units, quantities, measures, and dimensions. OM is modelled in OWL 2 (Web Ontology Language). The ontology can be found in om-2.0.rdf (view code above); links to UCUM (the Unified Code for Units of Measure) are in om-2-ucum.ttl (also above).

Base URI: http://www.ontology-of-units-of-measure.org/resource/om-2/

Namespace prefix: om

Wageningen University & Research



History and grounding

OM has a long history. In 2004, we published UnitDim, the precursor to OM. In 2009, OM 1.0 followed, of which versions up to 1.8 have been created. Finally, in 2017, OM 2.0 followed which is still maintained today. In the future we will move to OM 3.0.

OM is based on several official paper standards, such as the Guide for the Use of the International System of Units, by the NIST – a document that represents the SI as established by the General Conference on Weights and Measures (CGPM) adapted to the United States, adapted back by us to the global standard (metre, litre, deca, tonne).

Concepts and usage

The OM ontology provides classes, instances, and properties that represent the different concepts used for defining and using units, quantities and related concepts. It includes, for instance, common units such as the SI units metre (om:metre) and kilogram (om:kilogram), as well as units from other systems of units, such as the mile (om:mile) and the nautical mile (om:nauticalMile-International). For a range of application areas it includes specific units and quantities, such as the unit of the Hubble constant – a compound unit –, km/s/Mpc (om:kilometrePerSecond-TimePerMegaparsec), and the quantity 'viable count' (om:ViableCount).

The following application areas are supported by OM:

  • Geometry
  • Mechanics
  • Thermodynamics
  • Electromagnetism
  • Fluid mechanics
  • Chemical physics
  • Photometry
  • Radiometry and Radiobiology
  • Nuclear physics
  • Astronomy and Astrophysics
  • Cosmology
  • Earth science
  • Meteorology
  • Material science
  • Microbiology
  • Economics
  • Information technology
  • Typography
  • Shipping
  • Food engineering
  • Post-harvest technology
  • Dynamics of texture and taste
  • Packaging

The UML structure of the OM ontology

Figure 1. The UML diagram below shows the class structure of the OM ontology. Correction: the range of hasNumericalValue is not xsd:float, as indicated in the figure, but is left open to accomodate any datatype required in one's application of OM.

The following triples express, for example, the diameter of an apple:

ex:_10Centimetres rdf:type om:Measure ;
  om:hasNumericalValue "10"^^xsd:double ;
  om:hasUnit om:centimeter .
ex:diameterOfApple1 om:hasValue ex:_10Centimetres ;
  a om:Diameter ;
  om:hasPhenomenon ex:apple1 .
ex:apple1 rdf:type ex:Apple .

where ex is a prefix to another namespace.

The RDF structure for this example shows as follows:

Example: Apple size

Figure 2. An RDF diagram representing the size of an apple as 10 cm. (The arrow for property om:hasNumericalValue should be reversed.)

Please note that:

In OM, scales, such as the temperature scale are handled differently than their corresponding units. For instance a temperature difference will be expressed as a measure with a unit such as °C or K, where 28°C = 28 K. On the other hand an absolute temperature of 28°C is being referred to the Celsius scale and is equal to 301 K. Usually, the scale is used. Here is an example of using a temperature scale.

RecordTable ontology

Included in the OM repository is the RecordTable vocabulary for semantically modelling tabular data, as a supplement to the existing RDF Data Cube standard. RDF Record Table has a nested structure of records that contain self-describing observations, and is able to cope with irregular, missing and unexpected data. This allows it to escape the constraints of RDF Data Cube and to model complex data, such as that occurring in science and engineering.

As an example, consider the following Table 1. and Figure 3.

RecordTable Example: Table

Table 1. An example table, parts of which are depicted as a RecordTable graph in Figure 3. The highlighted cells are depicted in the graph.

A RecordTable example

Figure 3. An RDF diagram representing an example using RecordTable.

Libraries

Several libraries support the use of OM:

Acknowledgements

OM was developed during the Virtual Laboratory for e-Science and COMMIT projects. We would like to thank Jan Martin Keil and Sirko Schindler of the University of Jena for reviewing OM (see Unit Ontology Review and publication).

Literature

On OM

  1. H. Rijgersberg, M.L.I. Wigham, J.L. Top, “How semantics can improve engineering processes. A case of units of measure and quantities.” Advanced Engineering Informatics, 25, 2, 2011, pp. 276-287, https://doi.org/10.1016/j.aei.2010.07.008.
  2. H. Rijgersberg, M.F.J. van Assem, J.L. Top, “Ontology of Units of Measure and Related Concepts.” Semantic Web, 4, 1, 2013, pp. 3-13, https://doi.org/10.3233/SW-2012-0069.
  3. Top, J., Wigham, M., Rijgersberg, H. “Semantically Enriched Spreadsheet Tables in Science and Engineering.” SEMAPRO 2014.
  4. Mari Wigham, Hajo Rijgersberg, Martine de Vos, Jan Top. “Semantic Support for Tables using RDF Record Table.” International Journal On Advances in Intelligent Systems, 8 (1 and 2), 2015, 128-144.
  5. Hajo Rijgersberg, Semantic support for quantitative research, PhD thesis, Vrije Universiteit Amsterdam, 2013.

Comparison of OM with other unit ontologies

  1. Jan Martin Keil, Sirko Schindler, “Comparison and Evaluation of Ontologies for Units of Measurement.” Semantic Web, 1, 2018, pp. 1-19.
  2. Do C., Pauwels E.J. (2013) Using MathML to Represent Units of Measurement for Improved Ontology Alignment. In: Carette J., Aspinall D., Lange C., Sojka P., Windsteiger W. (eds) Intelligent Computer Mathematics. CICM 2013. Lecture Notes in Computer Science, vol 7961. Springer, Berlin, Heidelberg.
  3. Markus D. Steinberg, Sirko Schindler, Jan Martin Keil, Use Cases and Suitability Metrics for Unit Ontologies.
  4. Keil, Jan Martin (2020). ABECTO: An ABox Evaluation and Comparison Tool for Ontologies. In: ESWC 2020 Satellite Events: Posters and Demos. DOI:10.1007/978-3-030-62327-2_24.
  5. Xiaoming Zhang, Kai Li, Chongchong Zhao, Dongyu Pan, "A survey on units ontologies: architecture, comparison and reuse." Program, Vol. 51 No. 2, 2017, pp. 193-213, https://www.emerald.com/insight/content/doi/10.1108/PROG-08-2015-0056/full/html.

Best practices (uses) of OM (not exhaustive and under construction)

  1. D.J.M. Willems, H. Rijgersberg, J.L. Top, “Identifying and extracting quantitative data in annotated text”, Proceedings of the Workshop on Semantic Web and Information Extraction (SWAIE 2012), Galway, Ireland, 2012, pp. 43-54.
  2. Martine de Vos, Jan Wielemaker, Hajo Rijgersberg, Guus Schreiber, Bob Wielinga, Jan Top. Combining Information on Structure and Content to Automatically Annotate Scientific Spreadsheet Tables. Int. J. Human-Computer Studies, 103, 2017, pp. 63-76.
  3. Bonsai, “BONSAI – Big Open Network for Sustainability Assessment Information.” 2019, https://bonsai.uno/.
  4. Thorben Iggena, Daniel Kümper, Ralf Tönjes, Martin Strohbach, Pavel Smirnov, Juan A. Martinez, Sahr Thomas Acton, Roonak Rezvani, Josiane Parreira, “IoTCrawler. D4.1 IoT Data Attributes and Quality of Information.” University of Applied Sciences Osnabrück, 2019, https://iotcrawler.eu/wp-content/uploads/2019/07/D4.1_final.pdf.
  5. Gkotse B., Jouvelot P., Ravotti F. (2019) IEDM: An Ontology for Irradiation Experiments Data Management. In: Hitzler P. et al. (eds) The Semantic Web: ESWC 2019 Satellite Events. ESWC 2019. Lecture Notes in Computer Science, 11762, Springer, Cham, 2019.
  6. Berrahou, S., Buche, P., Dibie-Barthelemy, J. , Roche, M., How to Extract Unit of Measure in Scientific Documents? In Proceedings of the International Conference on Knowledge Discovery and Information Retrieval and the International Conference on Knowledge Management and Information Sharing (SSTM-2013), 2013, pp. 249-256.
  7. Mark S. Fox, A Foundation Ontology for Global City Indicators, University of Toronto, 2015.
  8. Megan Katsumi, The Ontology of Units of Measure, https://enterpriseintegrationlab.github.io/icity/OM/doc/index-en.html.
  9. Do C., Pauwels E.J. (2013) Harnessing Mathematics for Improved Ontology Alignment. In: Augusto J.C., Wichert R., Collier R., Keyson D., Salah A.A., Tan AH. (eds) Ambient Intelligence. AmI 2013. Lecture Notes in Computer Science, vol 8309. Springer, Cham.
  10. Stocker M. et al. (2013) Acquisition and Representation of Knowledge for Atmospheric New Particle Formation. In: Hřebíček J., Schimak G., Kubásek M., Rizzoli A.E. (eds) Environmental Software Systems. Fostering Information Sharing. ISESS 2013. IFIP Advances in Information and Communication Technology, vol 413. Springer, Berlin, Heidelberg.
  11. Soroush Samadian, Constructing and applying semantic models of clinical phenotypes to support web-embedded clinical research, PhD thesis, University of British Columbia, 2013.
  12. Aurélie Thébaut, Thibault Scholash, Brigitte Charnomordic, Nadine Hilgert, Combining a sensor software with statistical analysis for modeling vine water deficit impact on grape quality, 2014.
  13. Valueflows, A vocabulary for the distributed economic networks of the next economy, https://valueflo.ws/.
  14. Valentina Tamma, Mauro Dragoni, Rafael Gonçalves, Agnieszka Ławrynowicz (Eds.), Ontology Engineering: 12th International Experiences and Directions Workshop on OWL, OWLED 2015, co-located with ISWC 2015, Bethlehem, PA, USA, 2015.
  15. Soroush Samadian, Bruce McManus, Mark Wilkinson, Automatic detection and resolution of measurement-unit conflicts in aggregated data, BMC Med Genomics, 7 (Suppl 1), 2014.
  16. Biodiversity Information Standards TDWG, https://terms.tdwg.org/wiki/Main_Page.
  17. Maxime Lefrançois, Assisting the Semanticization of data with Vocabularies, Languages, and Tools.
  18. Filip Radulovic, Raúl García-Castro, The Evaluation Result Ontology, 2015, http://vocab.linkeddata.es/eval/index.html.
  19. Megan Katsumi, Mark Fox, iCity Ontology Initial Release, University of Toronto, 2017.
  20. Paola Espinoza-Arias, María Poveda-Villalón, Raúl García-Castro, Oscar Corcho, Ontological Representation of Smart City Data: From Devices to Cities, Appl. Sci. 9, 32, 2019.
  21. Bhoomin Pandya, Units of Measurement Ontology Added to LOV, 2020, https://medium.com/@conceptminers/units-of-measurement-of-ontology-added-to-lov-21c7efc92a62.
  22. A. P. Vedurmudi, M. Gruber, S. Eichstädt and A. Paschke, "Semantics in Sensor Networks: An Ontology for Dynamic Transfer Behavior in Calibrated Sensors," 2021 IEEE International Workshop on Metrology for Industry 4.0 & IoT (MetroInd4.0&IoT), 2021, pp. 358-363, doi: 10.1109/MetroInd4.0IoT51437.2021.9488554. https://ieeexplore.ieee.org/document/9488554.
  23. B. D. Hall, M. Kuster, Representing quantities and units in digital systems, submitted to Measurement: Sensors, 2022.
  24. Agneta Ghose, Matteo Lissandrini, Emil Riis Hansen, Bo Pedersen Weidema, A core ontology for modeling life cycle sustainability assessment on the Semantic Web, Journal of Industrial Ecology, 26, 2022, 731–747.

Discussing OM in general (not exhaustive and under construction)

  1. Loli Burgueño, Tanja Mayerhofer, Manuel Wimmer, Antonio Vallecillo, “Specifying quantities in software models.” Information and Software Technology, 113, 2019, pp. 82-97.
  2. Lavdim Halilaj, An Approach for Collaborative Ontology Development in Distributed and Heterogeneous Environments, PhD thesis, University of Bonn, 2019.
  3. Fredrik Heintz, Daniel de Leng, Semantic Information Integration with Transformations for Stream Reasoning.
  4. Georgios V. Gkoutos, Paul N. Schofield, Robert Hoehndorf, “The Units Ontology: a tool for integrating units of measurement in science”, Database, 2012.
  5. Gianluca Quercini, Chantal Reynaud, Entity Discovery and Annotation in Tables, EDBT/ICDT ’13, Genoa, Italy, 2013.
  6. Isabel F. Cruz, Venkat R. Ganesh, Seyed Iman Mirrezaei, Semantic extraction of geographic data from web tables for big data integration, Proceedings of the 7th Workshop on Geographic Information Retrieval, Orlando, Florida, 2013, pp. 19-26.
  7. Damion M. Dooley, William W.L Hsiao, Emma Griffiths, “An OBI ontology Datum Proof Sheet. Toward a harmonized treatment of categorical and scalar data entities in user interfaces”.
  8. David Flater, Architecture for Software-Assisted Quantity Calculus, NIST Technical Note 1943, 2016.
  9. Alexei V. Samsonovich (Ed.), Biologically Inspired Cognitive Architectures 2019, Proceedings of the Tenth Annual Meeting of the BICA Society, 2019.
  10. Vladimir Cvjetkovic, Web physics ontology: Online interactive symbolic computation in physics, 2017 4th Experiment@International Conference (exp.at'17), 2017.
  11. Mauro Dragoni, María Poveda-Villalón, Ernesto Jimenez-Ruiz (Eds.), OWL: Experiences and Directions – Reasoner Evaluation: 13th International Workshop, OWLED 2016, and 5th Internation Workshop, ORE 2016, Bologna, Italy, 2016.
  12. Jacques Carette, David Aspinall, Christoph Lange, Petr Sojka, Wolfgang Windsteiger (Eds.), Intelligent Computer Mathematics: MKM, Calculemus, DML, and Systems and Projects 2013, Held as Part of CICM 2013, Bath, UK, 2013.
  13. Cvetana Krstev, Staša Vujičić Stanković, Duško Vitas, Approximate Measures in the Culinary Domain: Ontology and Lexical Resources, 9th Language Technologies Conference, Information Society, 2014.
  14. J.S. Schwarz, S. Lehnhoff, Ontology-Based Development of Smart Grid Co-Simulation Scenarios, EKAW, 2018.
  15. Marco Balduini, Emanuele Della Valle, FraPPE: a vocabulary to represent heterogeneous spatio-temporal data to support visual analytics, ISWC, 2015.

om's People

Contributors

cmplstofb avatar dieudonne-willems avatar dieudonnewillems avatar franzlst avatar georgferdinandschneider avatar hajorijgersberg avatar jmkeil avatar niuni0212 avatar rpgoldman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

om's Issues

Incorrect UCUM mapping

Hey @HajoRijgersberg @dr-shorthair, while working on kaiiam/UO_revamp#2 I noticed in the https://github.com/HajoRijgersberg/OM/blob/master/om-2-ucum.ttl file the following issue:

image

Note that the second UCUM mapping is wrong: m not m^2

image

I'll let you know if I end up finding more of these.

Also unrelated I was having issues when sparql querying the om-2-ucum.ttl file (that @dr-shorthair recently added to) when using Robot query Same routine worked to query the QUDT VOCAB_QUDT-UNITS-ALL-v2.1.ttl file. The error message is the following. I think concerning imports or html tags.

The element type "p" must be terminated by the matching end-tag "</p>".

Unit request: g

In biology, centrifugation is often specified in multiples of g rather than m/s^2.

Could OM-2 please add a factored unit for g as an alternative? This would be a conversion unit like a foot is to a meter, relating to m/s^2 with a factor of g = 9.80665 m/s2

Support for n-dimensional values

Most examples use one dimensional values using om:hasValue (http://www.ontology-of-units-of-measure.org/resource/om-2/hasValue) or http://www.ontology-of-units-of-measure.org/resource/om-2/hasNumericalValue.

If I am not mistaken - it is currently not possible in OM to express multidimensional values. Length has X, Y, Z ranges:
http://www.ontology-of-units-of-measure.org/resource/om-2/Length
http://www.ontology-of-units-of-measure.org/resource/om-2/xRange
but they are are subclasses of length.

Basic examples of quantities that supports X,Y,Z values:
http://www.ontology-of-units-of-measure.org/resource/om-2/Acceleration
http://www.ontology-of-units-of-measure.org/resource/om-2/AngularVelocity
http://www.ontology-of-units-of-measure.org/resource/om-2/MagneticField
...

My personal two possible options:

  1. om:hasValueX, om:hasValueY, om:hasValueZ to explicitly specify if it is a x value for acceleration/length, ... However, semantically this means that there could be a different quantity for X, Y, Z
  2. [My preference] om:hasNumericValueX, om:hasNumericValueY, om:hasNumericValueZ because then you always have the same quantity for those numeric values (which makes sense).
    In addition, I would use om:hasDimension to specify the dimensions of the values

Adding grams of CO2 equivalents

Hi Hajo,

a widely used quantity these days is carbon dioxide intensity of energy. This is for example expressed as (kilo-) grams of carbon dioxide equivalents per (kilo-/mega-) watt hours (written, e.g., "gCO2eq/kWh").

Unfortunately, there are some problems with the physical precision of this unit:

  1. CO2 equivalents is not the same as CO2 itself. For example, methane (CH4) is a potent greenhouse gas (highly absorbent to infrared radiation), with one gram of CH4 being equivalent to roughly 28g of CO2.
  2. Therefore, the unit is misleading about chemistry: 44g of CO2 contain 12g of carbon and 32g of oxygen. However I cannot claim that if a process which produces 1 kWh at 44 gCO2eq/kWh it indeed burns 12g of carbon per 1kWh since I am talking about equivalents here. Unfortunately, the IEA does exactly that calculation, ignoring the "eq" in their own unit.
  3. The location of the gas is important. If natural gas (basically methane) is in the ground, it does not contribute to the greenhouse effect. If I burn methane I get CH4 + 2 O2 → CO2 + 2 H2O. So burning 16g of CH4 (plus 64g O2), which equate to 448g of CO2 equivalents, produces 44g of CO2 and 36g water (vapor!). This means that if I ignore that the methane was not in the atmosphere in first place I can claim that I reduce the greenhouse effect by burning methane at an order of magnitude of one to ten per mass unit! This is clearly nonsense (besides, it ignores the water vapor).
  4. Not that it matters here, but on top of all that, methane has a half life of about nine years in the atmosphere, so it breaks down to CO2 and water on its own...

Therefore I am uncertain about just introducing (prefixed) grams per ((prefixed) watt times hour) as a unit for carbon dioxide intensity. How can I restrict the mass unit to be only valid for carbon dioxide? Is this maybe a non-issue in first place because the mechanisms outlined above have nothing to do with the units? How would I handle this?

Here is a draft of how I described g/kWh as combined unit, simply naming it carbon dioxide intensity. Any criticism would be very welcome!

###  http://www.semanticweb.org/jungg/ontologies/2021/5/ic-units#CarbondioxideIntensity
:CarbondioxideIntensity rdf:type owl:Class ;
                        rdfs:subClassOf <http://www.ontology-of-units-of-measure.org/resource/om-2/Quantity> ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasValue> ;
                                          owl:allValuesFrom [ rdf:type owl:Restriction ;
                                                              owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasUnit> ;
                                                              owl:allValuesFrom :CarbondioxideIntensityUnit
                                                            ]
                                        ] ,
                                        [ rdf:type owl:Restriction ;
                                          owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasDimension> ;
                                          owl:hasValue :carbondioxideIntensityDimension
                                        ] ;
                        rdfs:comment "Mass of carbon dioxide equivalents per energy" ;
                        rdfs:label "carbon dioxide intensity" .


###  http://www.semanticweb.org/jungg/ontologies/2021/5/ic-units#CarbondioxideIntensityUnit
:CarbondioxideIntensityUnit rdf:type owl:Class ;
                            owl:equivalentClass [ rdf:type owl:Restriction ;
                                                  owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasDenominator> ;
                                                  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                  owl:onClass <http://www.ontology-of-units-of-measure.org/resource/om-2/EnergyUnit>
                                                ] ,
                                                [ rdf:type owl:Restriction ;
                                                  owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasNumerator> ;
                                                  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                                  owl:onClass <http://www.ontology-of-units-of-measure.org/resource/om-2/MassUnit>
                                                ] ;
                            rdfs:subClassOf <http://www.ontology-of-units-of-measure.org/resource/om-2/UnitDivision> ;
                            rdfs:label "carbon dioxide intensity unit" .

[ rdf:type owl:Axiom ;
   owl:annotatedSource :CarbondioxideIntensityUnit ;
   owl:annotatedProperty owl:equivalentClass ;
   owl:annotatedTarget [ rdf:type owl:Restriction ;
                         owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasDenominator> ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass <http://www.ontology-of-units-of-measure.org/resource/om-2/EnergyUnit>
                       ] ;
   rdfs:comment "Amount of energy generated that produced the carbon dioxide equivalents"
 ] .

[ rdf:type owl:Axiom ;
   owl:annotatedSource :CarbondioxideIntensityUnit ;
   owl:annotatedProperty owl:equivalentClass ;
   owl:annotatedTarget [ rdf:type owl:Restriction ;
                         owl:onProperty <http://www.ontology-of-units-of-measure.org/resource/om-2/hasNumerator> ;
                         owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                         owl:onClass <http://www.ontology-of-units-of-measure.org/resource/om-2/MassUnit>
                       ] ;
   rdfs:comment "Mass of carbon dioxide equivalents"
 ] .

###  http://www.semanticweb.org/jungg/ontologies/2021/5/ic-units#carbondioxideIntensityDimension
:carbondioxideIntensityDimension rdf:type owl:NamedIndividual ;
                                 rdfs:label "carbon dioxide intensity dimension" .

###  http://www.semanticweb.org/jungg/ontologies/2021/5/ic-units#gramCO2perKiloWattHour
:gramCO2perKiloWattHour rdf:type owl:NamedIndividual ,
                                 :CarbondioxideIntensityUnit ;
                        <http://www.ontology-of-units-of-measure.org/resource/om-2/hasDenominator> <http://www.ontology-of-units-of-measure.org/resource/om-2/kilowattHour> ;
                        <http://www.ontology-of-units-of-measure.org/resource/om-2/hasDimension> :carbondioxideIntensityDimension ;
                        <http://www.ontology-of-units-of-measure.org/resource/om-2/hasNumerator> <http://www.ontology-of-units-of-measure.org/resource/om-2/gram> ;
                        rdfs:label "gram CO2 equivalents perkilowatt hour" .

OM2 Units & Scales

This is a continuation of the discussion taking place in this ticket.

The main question there was: "Would it be a good practice to define generic scales so that certain computational features do get a scale or is it better to leave them without a unit?". For example, the value of an image feature may be taking values within the range of 0..255 and therefore could be represented in a generic uint8 scale.

Make LOV entry

I would urge you to invest some time in the dissemmination of your very helpful ontology, to increase visibility and usability:

Erroneous temperature classes

Six temperature quantity classes erroneously contained the according temperature scale classes in their
definition. For example, the definition of OM> CelsiusTemperature contained the following statement:

Class: om:CelsiusTemperature
SubClassOf:
om:hasValue only (om:usesUnit only
(om:CelsiusTemperatureUnit or
om:CelsiusTemperatureScale))

That caused the temperature scale classes to be a
subclass of OM!Unit.

[Review Keil & Schindler].

Mismatch between model and example

I'm struggling trying to understand the graphical examples in the OM documentation:
https://github.com/HajoRijgersberg/OM

For example, in the UML model
https://raw.githubusercontent.com/HajoRijgersberg/OM/master/images/OM2.0-UML-diagram.png
it shows that a om:Quantity has a property om:hasScale. But in the instance example
https://raw.githubusercontent.com/HajoRijgersberg/OM/master/images/OM-2.0-Example-Weather.png the blank-node _:bn1 which carries the property om:hasScale has rdf:type om:Point ...

I guess I'm misreading something here, so wonder if you could clarify.

Version number in ontology IRI and namespace

OM currently has a version number in the namespace and ontology IRI. This is not according to best practices.

An OWL ontology should make use of the owl:versionIRI attribute on the owl:Ontology instance to indicate a versioned IRI, rather than incorporate the version number in the IRI itself.

Hosting at BASE URI

In the README the Base URI proposed is "http://www.ontology-of-units-of-measure.org/resource/om-2/".

That URL can for the moment not be de-referrenced, the ontology is not served at that domain/path. Are there any plans to do so in the future, or should an alternate URL be used?

It is valuable to be able to refer to the om namespace from external files with a given URL, where applications can then fetch the actual ontology of units of measure when needed.

Best regards,
Dries

Magnitude should be a scale

The quantity Magnitude is used as a scale (formalised by Norman Robert Pogson).
The magnitude of Vega is defined as the zero point. Problem is that the scale is logarithmic and can at the moment not be defined in OM (apart from using fixed points). Is it possible to also be able to define scale calculus for the magnitude scale?

The relation between the flux density and magnitude is:

$$m_x = -2,5 log_{10}(F_x/F_{x,0})$$

where $$F_x$$ is the flux density for a specific filter and $$F_{x,0}$$ is the reference flux density of the filter.

Domains and ranges often specified as union of a single class

For many of the object properties the domain and/or range is specified as a union consisting of a single class. This is really not necessary, and adds a layer of complexity when populating the ontology with instances through a UI.

Example:

<owl:ObjectProperty rdf:about="&om;commonlyHasUnit">
    <rdfs:label xml:lang="en">commonly has unit</rdfs:label>
    <om:alternativeLabel xml:lang="en">commonly has unit of measure</om:alternativeLabel>
    <rdfs:comment>This property indicates a commonly-used unit.</rdfs:comment>
    <rdfs:domain>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class rdf:about="&om;Quantity"/>
        </owl:unionOf>
      </owl:Class>
    </rdfs:domain>
    <rdfs:range rdf:resource="&om;Unit"/>
  </owl:ObjectProperty>

should be

<owl:ObjectProperty rdf:about="&om;commonlyHasUnit">
    <rdfs:label xml:lang="en">commonly has unit</rdfs:label>
    <om:alternativeLabel xml:lang="en">commonly has unit of measure</om:alternativeLabel>
    <rdfs:comment>This property indicates a commonly-used unit.</rdfs:comment>
    <rdfs:domain rdf:resource="&om;Quantity"/>
    <rdfs:range rdf:resource="&om;Unit"/>
  </owl:ObjectProperty>

Some Japanese suggested changes

Hi @cmplstofB ,

From a colleague of mine I have received some proposed changes to the Japanese translations. Could you have a look at these? Many thanx in advance! :)
Please find the changes in the enclosed Word file (via Track Changes and comments): OM_jp_su (003).docx.
Looking foward to your response!

Best, Hajo

Wrong conversion factors

Using a comparison of unit ontologies with ABECTO I became aware that the following units have wrong conversion factors:

Further there might be wrong values at the following units, but I am not able to decide upon without further investigation:

Misplaced temperature scale individuals

Five temperature scale individuals were connected to the according temperature scale class by owl:equivalentClass which makes them individuals of themselves [Review Keil & Schindler].

Use of xsd:decimal instead of xsd:float for conversion factors

Using a comparison of unit ontologies with ABECTO I became aware that OM uses xsd:float to represent conversion factors and offsets. I think, instead xsd:decimal should be used, as binary floating point datatypes are not able to exactly represent many of the conversion values. Especially 0.1, 0.01, 0.001, … can not be represented. Only the lexical representation seems to be exact. However, the lexical to value mapping will map them to a slightly different value. This runs the risk of numerical problems in applications. I outlined this in detail in arXiv:2011.08077.

Additional unit for om:Frequency

Dear Hajo, dear OM developers,

first of all my appreciation for developing OM ontology which I find a wonderful ontology to capture units and quantities in the semantic web.

Today I discovered there might be some additional unit for om:Frequency added: 'reciprocalMinute'

I have been motivated for this as I have been looking for a way to express the unit of a signal as revolutions per minute (rpm) frequently appearing in engineering (e.g. cars).

It would be great if a respective unit is added similar to the existing om:reciprocalDay and om:reciprocalHour.

Thanks

Georg

Changes from version 1

It's not clear exactly what has changed from the first version of the units of measure ontology (and why). Is there a summary of changes somewhere?

Thanks!

invalid xsd:XMLLiteral warning

When loading the om2 ontology with apache jena, you get a warning about one of the literals:

18:54:47 WARN  riot                 :: [line: 12768, col: 74] Lexical form 'The magnitude scale was originally created by Hipparchos of Nicea (160-127 BCE) and was measured by comparing the brightness between stars. Initially this was done inaccurately by eye but is currently done by using photoelectric photometers or even more recently by CCDs. Hipparchos divided the stars into six magnitude (brightness classes), the brightest stars being assigned to the first class and the faintest to the sixth class. By about the middle 1800s it became apparent that the traditional magnitude scale is close to a logarithmic scale with base 2.5. This is due to the fact that the response of the eye is nearly logarithmic. N.R. Pogson formalised the magnitude scale to closely match the traditional (visual) scale. It is now defined as:
    <math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
                <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">m</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">m</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn>  </msub><mo xmlns="http://www.w3.org/1998/Math/MathML">=</mo>
                <mn xmlns="http://www.w3.org/1998/Math/MathML">-2.5</mn><mi xmlns="http://www.w3.org/1998/Math/MathML">log</mi>
        <mfrac xmlns="http://www.w3.org/1998/Math/MathML" linethickness="1">
                <mrow xmlns="http://www.w3.org/1998/Math/MathML">
                        <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></msub>
                </mrow>
                <mrow xmlns="http://www.w3.org/1998/Math/MathML"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn></msub>
                </mrow>
        </mfrac>
    </math>
    where <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">m</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></msub> <mo xmlns="http://www.w3.org/1998/Math/MathML">-</mo> <msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">m</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">2</mn>  </msub></math>
is the magnitude difference between two objects, and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi><mn xmlns="http://www.w3.org/1998/Math/MathML">1</mn></msub></math> and <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline"><msub xmlns="http://www.w3.org/1998/Math/MathML"><mi xmlns="http://www.w3.org/1998/Math/MathML">f</mi><mn
xmlns="http://www.w3.org/1998/Math/MathML">2</mn></msub></math> are the luminous fluxes of the two objects. The magnitude of Vega (╬▒ Lyrae, HD 172167) is
defined to be 0 in all wavelengths and passbands, although in practice this can only be an approximation. The zero point is now defined using multiple standard stars from the north polar sequence (non-variable stars within 2 degrees of the north celestial pole) or secondary standard stars from other parts of
the sky. Please note that the scale is inverted, objects of magnitude 1 have a higher luminous flux than objects of magnitude 5. Stars of magnitude 6 are just visible to the naked eye under good observing conditions.
    The units of magnitude, also called magnitude, are usually not indicated except when indicating small magnitude differences when milli- or micromagnitudes are used.' not valid for datatype XSD XMLLiteral

Should coordinate systems also be supported in OM?

Should it be possible to define coordinate systems, such as the geographical coordinate systems in OM? These are a kind of scales in two or three dimensions. This might make it possible to convert coordinates between different systems.

Ontology IRI versus ontology location - problem with indirect import

Hi,

currently, to the best of my knowledge, the IRI of om-2 is http://www.ontology-of-units-of-measure.org/resource/om-2/ (or http://www.ontology-of-units-of-measure.org/vocabularies/om-2/ ?), while the location is https://raw.githubusercontent.com/HajoRijgersberg/OM/master/om-2.0.rdf! This works fine with a direct import, but in the case of an ontology O1 importing om-2, another ontology O2 importing O1 in Protégé leads to an error:
INFO 08:41:33 Exception caught trying to get ontology id for file:/C:/Users/JUNGG/Development/ontology/ontology/Extension%20(SERA%20information%20Objects)/ic-forecast.ttl org.semanticweb.owlapi.model.UnloadableImportException: Could not load imported ontology: <http://www.ontology-of-units-of-measure.org/resource/om-2> Cause: Server returned HTTP response code: 500 for URL: http://www.ontology-of-units-of-measure.org/data/om-2

Am I using the right location? How can I avoid this error?

Clarify License

Please clarify the license. Currently it is state in om-2.0.rdf that it is provide under CC-BY, but the license version is omitted. Moreover, it has become a good practice to refer to the license as entity by e.g. stating:

<dct:license rdf:resource="https://creativecommons.org/licenses/by/4.0/"/>

instead of

<dc:license xml:lang="en">This document is available under Creative ... </dc:license>

Please not that the property license is contained in http://purl.org/dc/terms/ (dct) not in http://purl.org/dc/elements/1.1/ (dc).

Regards,
Jan Martin

Extraction with robot not working

Dear All,

I am trying to extract some concepts of this ontology using robot. I found two files in this repository, those are: om-2-ucum.ttl and om-2.0.rdf.

With them, I edited the following commands:
robot extract --method STAR --input source_ontos/om-2-ucum.ttl --term-file onto_terms/om2_terms.txt --output extracted_modules/om2_start.owl
robot extract --method STAR --input source_ontos/om-2.0.rdf --term-file onto_terms/om2_terms.txt --output extracted_modules/om2_start.owl

Obtaining the following results:

image

After that, I decided to save both ontologies as owl files, using protege, but the result of this command:

robot extract --method STAR --input source_ontos/om-2-ucum.owl --term-file onto_terms/om2_terms.txt --output extracted_modules/om2_start.owl

was exactly the same as the first picture, and the result of applying the extraction command on file om-2.0.owl was the following:

image

to summarize robot (as protege) does not find any ontology in:

http://www.ontology-of-units-of-measurement.org/resource/om-2/

So, I wonder how to solve this issue?

I am also curious to know if you have an .owl version of this ontology, because I only found .ttl and .rdf.

Best regards

Luis Ramos

Unit tuples

Dear people,

We are thinking to extend OM with what may be called unit tuples. For instance, 5 foot 10 (inch), or 33 hours 15 minutes 12 seconds for an angle, are unit tuples.
Now we are wondering what this class of units should actually be called. UnitTuple? UnitAddition? ...? The term CompoundUnit is already being used as a superclass of UnitDivision, UnitMultiplication, and UnitExponentiation. By the way, we propose that UnitTuple (or another name) will be a subclass of that particular class.
Looking forward to your response! :)

Best, Don and Hajo

Definition of om:Point is inconsistent

The definition of om:Point is

"an element of an interval scale or a ratio scale, for example, 273.16 on the Kelvin scale indicates the triple point of water thermodynamic temperature"

I don't understand this: interval and ratio scales are very different [1]. The zero position on an interval scale is essentially arbitrarily located, while the zero position on a ratio scale is absolute. Values from a ratio scale can be compared and operated on using a much wider range of arithmetic (addition, subtraction, multiplication or division by a constant, comparison by ratio) while only ordering operations are valid in comparing values on an interval scale.

[1] https://en.wikipedia.org/wiki/Level_of_measurement

Validation fails because of annotation properties

After fixing the issues discussed in #59 I still get a large number of errors from validating the OM ontology. These all seem to have to do with annotations on the Ontology itself, for example:

021-10-22 10:16:57,848 WARN  uk.ac.manchester.cs.owl.owlapi.OWLOntologyManagerImpl - Illegal redeclarations of entities: reuse of entity http://xmlns.com/foaf/0.1/jabberID in punning not allowed [Declaration(ObjectProperty(<http://xmlns.com/foaf/0.1/jabberID>)), Declaration(DataProperty(<http://xmlns.com/foaf/0.1/jabberID>))]

A little more investigation reveals this posting which suggests we would need a more stringent version of the FOAF ontology, because the standard FOAF ontology types property ranges permissively in a way that OWL DL forbids. Likely this could be fixed by extracting a subset of the annotation properties used, and maybe importing this subset instead of the full FOAF and other ontologies. Users of DL could use a specific catalog.xml file for the purpose.

The Logo of OM

This issue may be trivial, sorry but I am curious about it.

According to following metadata, the logo of OM is at http://www.wurvoc.org/images/vocabularies/om-logo.jpg.

https://github.com/HajoRijgersberg/OM/blob/800447ad7575dbca303d62fdaad722e62a54f56d/om-2.0.rdf#L53

But currently (2020-09-08), this page returns 404 and we cannot access the logo image.
There are two kinds of image on the web archive[1][2].
Which one is the logo of OM? Or neither?

If you would like, could you please host logo image at accessible place (e.g. this GitHub repository) or embed it to README and so on?

Robot verification raises issues with the current draft

I checked OM-2 against the OWL DL profile using robot, as follows:

robot validate-profile --profile DL --input OM/om-2.0.rdf --output OM/validation.txt

Then, because there were a bunch of bibliography info constraints, I did the following filtering:

cat OM/validation.txt | fgrep -v bibo | fgrep -v foaf | fgrep -v purl.org | fgrep -v bibliography > OM/filtered-validation.txt

This gave me the attached file, which mentions 16 issues.
filtered-validation.txt

Trying to track this down, I see the following:

  1. I don't think robot likes the following, because it applies the Union operator to a collection with only one element:
  <owl:Class rdf:about="&om;FahrenheitTemperatureUnit">
    <rdfs:label xml:lang="en">Fahrenheit temperature unit</rdfs:label>
    <rdfs:subClassOf rdf:resource="&om;TemperatureUnit"/>
    <owl:equivalentClass>
      <owl:Class>
        <owl:unionOf rdf:parseType="Collection">
          <owl:Class>
            <owl:oneOf rdf:parseType="Collection">
              <om:Unit rdf:about="&om;degreeFahrenheit"/>
            </owl:oneOf>
          </owl:Class>
        </owl:unionOf>
      </owl:Class>
    </owl:equivalentClass>
  </owl:Class>  	  

There are a number of similar cases like this, in om:FixedPoint, om:FahrenheitTemperatureUnit, om:gramPerSquareMetre, and om:ReaumurTemperatureUnit.

To be quite honest, it doesn't seem to me that having some degenerate Union's is actually bad, but it looks like they could be removed.

  1. There are a few "Use of undeclared class:" in the report, too, for: om:FahrenheitScale, om:CelsiusScale, om:RankineScale, om:ReaumurScale, om:KelvinScale.

Should Measure properties be functional?

As I understand it, the Measure gives us a way to pair a unit (hasDimension) and a number of those units (hasNumericalValue).

Working with Protege, I was surprised to see that nothing seems to enforce Measure having only one dimension and one numerical value. Is this an oversight, or was this a deliberate design decision?

I am not sure whether hasDimension and hasNumericalValue should be owl:FunctionalProperty's or whether Measure should be be restricted to have exactly 1 dimension and one numerical value. But if some such restriction is not made, doesn't OM admit incoherent models?

Range of hasNumericalValue

I am looking at your README with the UML diagram for OM-2, and at the same time, I have the OM2 ontology open in Protege.

When I look at the UML diagram, I see that the range of hasNumericalValue is illustrated as being of type xml:float. However, when I look at the ontology in Protege, I don't see any range constraint on hasNumericalValue, beyond it being a datatype property.

Below this, in the README, I see this:

ex:_10Centimetres rdf:type om:Measure ;
  om:hasNumericalValue "10"^^xsd:double ;
  om:hasUnit om:centimeter .

There are a number of problems with this that come from the fact that OWL's numeric datatypes (in my opinion) are bonkers (this is a technical term from logic 😉):

  1. If we were to add a range constraint DataPropertyRange( om:hasNumericalValue xsd:float ), then the OM ontology plus ex:_10Centimetres would be inconsistent, because xsd:float and xsd:double are disjoint types. See Datatype Maps in the OWL2 specs.
  2. Even worse, there is no numeric type that brings together the types xsd:float, xsd:double, and owl:real. This means that it is very easy to render an ontology inconsistent by, for example, supplying an integer value for a property that is typed as xsd:float or xsd:double. Or, for that matter, supplying one of these two float types as the value of a property that has any type that is owl:real or any subtype thereof.

Someone I discussed this with says that it's a common standard practice to represent whole numbers using xsd:integer or a subtype thereof, and any quantity that might not be a whole number as an xsd:decimal. This avoids the kind of issues I describe above.

There doesn't seem to be anything consistent with the OWL spec that would permit normal uses of xsd:float or xsd:double -- any use of these types seems likely to cause inconsistencies.

I conjecture that this is a bad consequence of adopting the XSD data types -- which are really syntactic into a logic that is meant to be semantic.

Stability & readiness for use-cases?

Hi there! :)

Just a question- I can see that this work is somewhat under active development, but am curious from the authors' perspective whether it has stabilised enough for integration into a production system. Also curious whether automatic unit conversion is an explicit goal for the project, and how one might go about plugging a reasoner in to perform that task (apologies for the basic question, I'm a novice with those kinds of systems).

More context at valueflows/valueflows#268 (comment)

OM2 OWL profile conformance

I'm about to use OM2 ontology for a model that will need to be inferancable so I would need the ontology to be OWL DL at most, OWL EL ideally. Which profile is supported by OM2?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.