emmo-repo / EMMO

Elementary Multiperspective Material Ontology (EMMO)
Other
62 stars 16 forks source link

Use EMMO Units in Abox #175

Closed paulzierep closed 2 years ago

paulzierep commented 3 years ago

The units in Emmo are defined as classes. How can this be used to instantiate flexible Abox data. For example, there can be a large amount of mixed units (m/kg^2). How could one proceed to add these units to a specific data value.

kysrpex commented 2 years ago

I noticed another point to take care of regarding the use of EMMO units in the ABox.

I am currently using the units by creating unit individuals and assigning the unit class as their type. The initial idea was to instantiate just one individual and use it as reference unit for all measurements.

However, the hasReferenceUnit relationship is inverse functional (alpha2). This means that I must use a different unit individual for each measurement. Is this the intended design?

If the above is not the intended deisgn, would it make sense to include individuals for the units already in the ontology file, just like a universe is included?

jesper-friis commented 2 years ago

@kysrpex, thanks for pointing out the issue. We have now changed BasedQuantity hasReferenceUnit only BaseUnit to BasedQuantity hasReferenceUnit some BaseUnit.

jesper-friis commented 2 years ago

@paulzierep. Quantities in EMMO have two direct spatial parts, a numerical (number, array, ...) and a reference unit. An individual quantity like "1.0 metre" would have quantity value the number individual 1.0 and reference unit a Metre individual.

The reason that quantities and units are classes in EMMO is because of its physicalistic/nominalistic nature. This allows to express that the 1 metre I am measuring does not necessarily the same 1 metre you are measuring, since they are the result of two different measurement processes.

paulzierep commented 2 years ago

@jesper-friis Thank you for your reply. In this case, I assume that if I want to add a quantity individual of a unit that is not yet part of EMMO to the ABox, I need to introduce the corresponding unit class in the TBox?

I have another question concerning this issue. We would like to annotate data using EMMO. For time series data we would not like to store the data as RDF but rather reference the data using standard mappings like: csvw and CSV-LD patterns. In this case, we would use a class that has a unit and a relation to another class that stores the location of the time series data. However, if we use the hasReferenceUnit of EMMO. The Fact++ reasoner infers, that the individual is a Quantity. A Quantity needs a hasQuantityValue (correct?). But in our case, we rather have an entire array that has a unit. How could this be implemented using EMMO ?

jesper-friis commented 2 years ago

In this case, I assume that if I want to add a quantity individual of a unit that is not yet part of EMMO to the ABox, I need to introduce the corresponding unit class in the TBox?

Correct

A Quantity has a Numerical part, which can be a single scalar or a large array. My suggestion is to create a Numerical individual that stands for your time series. Using e.g. dcat you, can associate this individual to your data source.

jesper-friis commented 2 years ago

OK to close this issue?

paulzierep commented 2 years ago

Sorry that I have to open this up again. But according to the csvw standard, you would describe a column in a csvw file as shown below. According to their example: https://www.w3.org/TR/tabular-data-primer/#units-of-measure you would relate the unit directly with the column. How would something like this work if one would like to use EMMO units, since EMMO units can only relate to quantities, not numerics ?

    "csvw:tableSchema": {
        "@id": "fileid:schema",
        "@type": "csvw:Schema",
        "csvw:columns": [
            {
                "@id": "fileid:column-0",
                "@type": "csvw:Column",
                "csvw:titles": "Pr\u00fcfzeit",
                "http://emmo.info/emmo/middle/metrology#EMMO_67fc0a36_8dcb_4ffa_9a43_31074efa3296": {
                    "@id": "fileid:unit-18",
                    "@type": "http://emmo.info/emmo/middle/siunits#EMMO_314ba716_2d3d_4462_9a4f_d3419ae1df43"
                }
            },