OpenEnergyPlatform / ontology

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

Restructure grid, node and link #36

Closed tillmo closed 4 years ago

solar-c commented 5 years ago

Since graph,node,link are more abstract terms I would be careful to create any relations. A graph can exist of a single node, so a node can be a graph itself. link could be defined as part_of some graph, while node can be part_of some graph but also a subclass of graph. The order-zero graph (empty set graph) has no nodes and links, the singleton graph has no links. Therefore, a graph does not necessarily have a link or node as parts.

stap-m commented 5 years ago

There are no definitions provided yet. We should discuss the terms from the energy modelling point of view and add definitions.

l-emele commented 5 years ago

Nodes and links in energy modeling not only occur in modeling of electricity grids, but also in other grids (district heating grids, gas grids, etc.). So it an electricalGridNode is a node but is not equal to a node.

Likewise relation between link and powerLines.

stap-m commented 5 years ago

Thanks for the clarification @l-emele. What about:

grid: BFO: object with subclasses 'electricityGrid', 'gasGrid', etc definition: assembly of systematically connected elements that can work as a supply system

gridComponent: BFO: fiat object part, 'part_of grid' definition: discrete element of a grid which serves a certain purpose

gridNode: BFO: fiat object part, 'is_a gridComponent', 'part_of grid' definition: part of a grid where two or more links meet

link: same as gridNode definition: a grid component that serves as a connection between two other grid components

electricalGridNode: BFO: fiat object part, 'part_of electricityGrid'

@gnn: Please check BFO parent classes. Relation to #41.

akleinau commented 4 years ago

[updated version down below]

stap-m commented 4 years ago

For grid I agree.

stap-m commented 4 years ago

ElectricityGridComponent:

stap-m commented 4 years ago

Node and link:

akleinau commented 4 years ago

I agree with ElectricityGridComponent as an Arificial Object. But if we implement a class Gasgrid (we need a definition) mybe we should replace ElectricityGridComponent with the general GridComponent to also include gasgrid components?

akleinau commented 4 years ago

for the ElectricityGridComponent def I think we can leave the purpose part out because a component of a grid is also a component of a grid without a purpose.

akleinau commented 4 years ago

so as bullet points current situation, as tasks a bit modified changes proposed in this issue

grid

ElectricityGridcomponent

Node

link

akleinau commented 4 years ago

hmm thats a bit complicated, are graph, link and node fiat object parts or objects?

jannahastings commented 4 years ago

I suggest we try to find primary labels for these that are less generic and more specific to the electricity context, to avoid ambiguity with other types of grid, node and link? (I see some are already suggested in the proposal above.)

e.g. (just using the proposed definitions)

supply grid: A supply grid is an object aggregate of systematically connected artificial objects that can work as a supply system. alternative term: grid

electrical grid node: "a fiat object part of an electrical grid where two or more links meet" alternative term: node

grid component link: "a fiat object part that serves as a connection between two other grid components" alternative term: link

stap-m commented 4 years ago

Grid/ supply grid: I guess all the grids concerning energy system modelling are supply grids. @l-emele what do you think? Along with electricity grid, we'd need gas grid and heating grid. Anything else?

I could go with both terms, grid or supply grid.

grid component link: The def of @jannahastings sounds good to me. The technology specific types of links (power line #18, gas pipeline, heat line/heating pipeline) would then be subclasses of this class.

Grid node: all kinds of grids do have grid nodes, which are at least the systematically connected objects. So, an upper class grid node would make sense I think. Apart from link endings, an electricity grid node unusally constists of other components, too, like trafo/swithyard,... And I think this holds true for other grids, too (e.g. compressor stations for gas). Maybe we should reflect that in the def.

Do we also need/want a class grid component as parent of electricity grid component and the other grid components?

akleinau commented 4 years ago

I think it would be more consistent if we make grid component classes for all grids or just for the superclass grid instead of just electricity grid. Making grid component classes for all grids would be nice to see e.g. all the electricity grid classes together

stap-m commented 4 years ago

Ok, I'll start implementing.

stap-m commented 4 years ago

We still have the class graph left, without definition. I am going to delete it.

stap-m commented 4 years ago

It makes sense, that link and node are fiat object parts of a grid. On the other hand, its current subclasses, e.g. powerline or transformer, should rather be defined as artificial objects/grid components in my opinion. Could we use the has_function property, or something like that, to describe that a powerline is a link (although link is not defined as function)?

akleinau commented 4 years ago

if an object like a powerline is a link than it can be clearly differentiated from the rest of the grid and is therefore no fiat object part. So I think it makes more sense to classify link and node as sth else. Maybe make them roles? A powerline has the role "link" in a grid?

akleinau commented 4 years ago

@jannahastings what do you think?

jannahastings commented 4 years ago

if an object like a powerline is a link than it can be clearly differentiated from the rest of the grid and is therefore no fiat object part. So I think it makes more sense to classify link and node as sth else. Maybe make them roles? A powerline has the role "link" in a grid?

I don't think we should move link and node to the dependent entities branch (i.e. as roles or functions), as they do not seem to me to be attributes (that inhere in other entities) but entities in their own right. And looking at the current definition of powerline: "A powerline is a grid component that is an uninterrupted transmission system between two nodes in an electricity grid." -- that also suggests that this class is always used to pick out a part of the larger grid. So if it is not a fiat object part, it is nevertheless still an object part. So I think we can just go with classifying power line as a link, and classifying link as a grid component. The parent of grid component can be "object and part_of some grid" (fully defined)

stap-m commented 4 years ago

Ok, I implemented @jannahastings suggestions. This is how the structure looks right now: grafik

Since powerline is definitly an electricity grid component I'd suggest

akleinau commented 4 years ago

yes sounds good