OpenEnergyPlatform / ontology

Repository for the Open Energy Ontology (OEO)
Creative Commons Zero v1.0 Universal
105 stars 19 forks source link

Add solid/liquid/gaseous portions of matter #1498

Open l-emele opened 1 year ago

l-emele commented 1 year ago

Description of the issue

A lot of our portion of matter subclasses have solid, liquid, gaseous (normal) states of matter. I would be nice to create equivalent classes that catch all of the respective portions of matter classes by their states. This would be a nice extension of our multihierachy in the portion of matter part of the OEO.

Ideas of solution

As we distinguish between has state of matter and has normal state of matter we should distinguish between solid/liquid/gaseous portion of matter and solid/liquid/gaseous portion of matter under normal conditions:

In natural language, there is solid as adjective and a solid as noun and likewise liquid and a liquid. To catch this ambiguity we might think about adding the alternative labels:

Further, we might add

Workflow checklist

I am aware that

u-mueller commented 1 year ago

I like this idea very much, and to me it seems a good way to enrich the ontology with axioms.

l-emele commented 1 year ago

@stap-m : Any thoughts on this issue?

stap-m commented 1 year ago

Straightforwardly derived and definitely nice to have.

u-mueller commented 1 year ago

Shall I implement, @l-emele, to get some more practice?

l-emele commented 1 year ago

Yes, please implement. :rocket:

u-mueller commented 1 year ago

Again a question that arose while implementing: Shouldn't be solid portion of matter under normal conditions be a subclass of solid portion of matter etc. as normal state of matter is a subclass of state of matter -- with respective reference to parentclasses in the definitions? The EquivalentTo: axioms may stay as proposed.

l-emele commented 1 year ago

That was also my initial thought, but that is wrong. Take water: it has a normal state of matter liquid, but we do not specify which state of matter it is. But water has two subclasses: liquid water and steam [^1]. Both liquid water and steam have the normal state of matter liquid but only liquid water has the state of matter liquid while steam is gaseous. After implementing the equivalent classes, the inferred hierarchy should look like this:

But to me, your question raises a different question: We currently use axioms like 'liquid water' 'has state of matter' value liquid and 'natural gas' 'has state of matter' value 'gaseous' to describe the state of matter the substance currently is in. But do we need here something like a has actual state of matter or has current state of matter or something like that?

If we follow this proposal, we would then have the following object properties:

If we do should, we would change the axioms mentioned above to: 'liquid water' 'has actual/current state of matter' value liquid 'natural gas' 'has actual/current state of matter' value 'gaseous'

In the end we would probably only have one axiom using the (parent) object property has state of matter:

All subclasses would get either has normal state of matter axioms or has actual/current state of matter axioms or both.

To avoid creating a parallel structure of maybe we should abstain from adding normal state of matter and actual/current state of matter classes and have only object properties? In the end, solid, liquid and gaseous are in fact properties of some substances.

Sorry for the long answer to a seemingly short question. Sometimes in ontology work, you touch a little thing but reveal a major hole in the whole internal logic 😄.[^3]

[^1]: And it should also have a subclass (water) ice but we did not implement this yet. [^2]: A portion of matter is an aggregate of material entities that have a state of matter. [^3]: This wisdom from xkcd seems to hold not only for the whole internet but every larger aggregate of information.

u-mueller commented 1 year ago

Thanks for your long answer (and the funny cartoon:-). Water is an enlightening example (though a bit tricky, too, if you look closer at its state under normal conditions). I would then prefer to abstain from adding normal state of matterand actual state of matter. Right now, I have an issue with Protégé, I try to fix it and then implement.

stap-m commented 1 year ago

But to me, your question raises a different question: We currently use axioms like 'liquid water' 'has state of matter' value liquid and 'natural gas' 'has state of matter' value 'gaseous' to describe the state of matter the substance currently is in. But do we need here something like a has actual state of matter or has current state of matter or something like that?

Would that imply more than a relabelling? I mean, "normal state of matter" is clearly defined and any other state of matter is related to a current state or state under "usual application conditions". E.g. 'liquified natural gas' 'has state of matter' some liquid. I don't see the advantages, yet.

To avoid creating a parallel structure of maybe we should abstain from adding normal state of matter and actual/current state of matter classes and have only object properties?

Do you mean smth like 'liquified natural gas' 'is liquid under conditions' some 'application conditions' and 'liquified natural gas' 'is gaseous under conditions' some 'normal conditions'?

l-emele commented 1 year ago

Liquefied natural gas is liquid by definition. If you heat up a portion of liquefied natural gas above its boiling point stops being a liquefied natural gas and turns into gaseous natural gas: there happens a transformation, a phase transition.

To avoid creating a parallel structure of maybe we should abstain from adding normal state of matter and actual/current state of matter classes and have only object properties?

Do you mean smth like 'liquified natural gas' 'is liquid under conditions' some 'application conditions' and 'liquified natural gas' 'is gaseous under conditions' some 'normal conditions'?

I meant having only the object properties has state of matter, has normal state of matter and has current state of matter but not adding the proposed class normal state of matter or a class current state of matter.

But I think, this problem is to complicated to solve in the issue; let's discuss it a an OEO dev meeting.