OpenEnergyPlatform / ontology

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

check domain of `has energy participant` #1534

Open stap-m opened 1 year ago

stap-m commented 1 year ago

Description of the issue

On a tangential thread. I think it makes little sense that artificial objects have inputs and outputs. I these are properties of processes, this is expressed explicitely in the definition of has input [^1] I am searching the issue where the decision is explained but I can't find it. I think this can lead to incongruences down the road and that is cleaner to have I/O exclusively in processes.

[^1]: p has input c iff: p is a process, c is a material entity, c is a participant in p, c is present at the start of p, and the state of c is modified during p.

Originally posted by @areleu in https://github.com/OpenEnergyPlatform/ontology/issues/737#issuecomment-1455691925

Agreed. ROs has participant and subrelations are reserved for processes. Yet, we opened OEOs has energy participant to artificial objects. This is confusing and proper documentation is missing. I'll open a separate issue.

Originally posted by @stap-m in https://github.com/OpenEnergyPlatform/ontology/issues/737#issuecomment-1535923837

Ideas of solution

I see the following options:

  1. Document that the domain of has energy participant is intentionally extended to artificial object and explain why, despite the common restriction of has participant and subrelationd to processes only.
  2. Create separate relations for the involvement of energy for processes and artificial objects. This would imply some restructuring of axioms.
  3. Rename the relation has energy participant such that it won't be confused with has participant.

Workflow checklist

I am aware that

l-emele commented 1 year ago

We explicitely implemented has energy participant (and its subproperties) because we wanted to express the relation between artificial objects and energies. Before that we used e.g. produces but we wanted to replace that.

In #994 we were talking about introducing a special object property to relate artificial objects and energy:

As the produces relation is so often used wrongly, we might think about introducing a very obvious relation for this case. Something like has energy output as subproperty of has physical output. Likewise has energy input as subproperty of has physical input.

And also:

The relation between artificial objects and processes on one hand and energies on the other hand is a core concept of the domain and thus we should have a simple and easily understandable axiom for that. Therefore, we propose the following solution: Introduce a new top-property has energy participant and make has energy input and has energy output subproperties of this new property instead of has physical input and has physical output.

If we cannot axiomatise that a power plant produces electrical energy, then we are abstracting too much from the need of the domain!

stap-m commented 1 year ago

If we cannot axiomatise that a power plant produces electrical energy, then we are abstracting too much from the need of the domain!

Ok, I see. Does it have to be necessarily the same relation for processes and artificial objects?

I added a third option to the ideas of solution above to avoid the described confusion. Can you comment on them @l-emele @areleu please?

l-emele commented 1 year ago

Does it have to be necessarily the same relation for processes and artificial objects?

No, it does not. I would be fine with having distinct object properties for:

  1. Relations from energy to artificial objects.
  2. Relations from energy to processes. These would then be subproperties of has participant, has input and has output.

I added a third option to the ideas of solution above to avoid the described confusion.

I agree that the labels add confusion because one thinks that has energy participant and so on are subproperties of has participant and so on. So we definitely should find better labels.

stap-m commented 1 year ago
  1. Relations from energy to artificial objects.

Any ideas for a lable? I took produces as inspiration for a proposal:

  1. Relations from energy to processes. These would then be subproperties of has participant, has input and has output.

Agreed.

stap-m commented 1 year ago

Any comment on my proposal @l-emele @areleu ?

l-emele commented 1 year ago

I am fine with the human understandable definition proposal. However, I still have no idea about labels if we want to avoid the terms input and output.

stap-m commented 1 year ago

produces energy and consumes energy?! Both get domain artificial object and range energy

l-emele commented 1 year ago

I am not super happy the proposed labels produces energy and consumes energy because for some artificial objects the axioms per se would look a bit strange, e.g. 'power line' 'produces energy' some 'electrical energy'. But as I do not have better proposals either, I am okay with using these labels.

stap-m commented 1 year ago

Maybe supplies energy instead?

stap-m commented 1 year ago

For power line etc. we should probably use the has sink/has source relations instead .

l-emele commented 4 months ago

I just read this stale issue.,

For power line etc. we should probably use the has sink/has source relations instead .

The object properties has sink/has source are meant to axiomatise the relations between a supply grid and a grid node. Something like 'electricity grid' 'has sink' some 'transformer station'. That is a different relation than power line supplies some electrical energy.