Ontology: Vehicles need to be restructured

Created on 11 Jun 2020  Â·  41Comments  Â·  Source: OpenEnergyPlatform/ontology

Description of the issue

Under "independent continuant → material entity → object → artificial object" there are two types of vehicles listed:

  • electric vehicle
  • internal combustion vehicle
    The definition of "internal combustion vehicle" demands a parent class "vehicle":

An internal combustion vehicle is an artificial object that is a vehicle powered by internal combustion engine.

Ideas of solution

I would suggest to create a vehicle class that summarizes different types of vehicles and add the two existing classes as sub-classes of the vehicle class.
The definition for this class could be:

A vehicle is an artifical object that used for transporting people or goods.

Workflow checklist

  • [x] I discussed the issue with someone else than me before working on a solution
  • [x] I already read the latest version of the workflow for this repository
  • [x] The goal of this ontology is clear to me

I am aware that

  • [x] every entry in the ontology should have a definition
  • [x] classes should arise from concepts rather than from words
[B] restructure oeo-physical

Most helpful comment

I've visualised the classes and properties around vehicles using OntoGraf: It has gotten quite complex, but it shows that it makes sense what we are doing:
grafik
Blue lines are 'is a' relations (=subclasses) while the dashed lines are various properties.

All 41 comments

Thank you, well spotted. I like your proposal for a definition, so I think we can include this soon.

@RuoshanLan : Are you interested in implementing this yourself?

@RuoshanLan : Are you interested in implementing this yourself?

No, thanks.

I'd like to give the electric vehicle a new definition in this context, as the old one is not aristotelean. How about _"An electric vehicle is a vehicle that uses one or more electric motors or traction motors for propulsion."_

(inspired by the old wikipedia definition:
"An electric vehicle, also called an EV, uses one or more electric motors or traction motors for propulsion. An electric vehicle may be powered through a collector system by electricity from off-vehicle sources, or may be self-contained with a battery, solar panels or an electric generator to convert fuel to electricity.")

Good idea. However traction motor seems to be a synonym and/or a special kind of electric motor I would suggest to shorten the definition to:
_An electric vehicle is a vehicle that uses one or more electric motors for propulsion._

sounds good, then this can be implemented soon when no one has comments in the meantime :)

Okay, I'll do that.

Okay, I've done that. Should I add uses some electrical energy for the _electric vehicle_?

Sooner or later we need also subclasses. Do it in this issue or create a separate issue? I already have some thoughts. There are _battery electric vehicle_, _fuel cell electric vehicle_ and _plug-in hybrid electric vehicle_ as potential subclasses. The first two are easy:

  • _A battery electric vehicle is a vehicle that stores energy in an on-board battery._ (We could add has part some battery).
  • _A fuel cell electric vehicle is a vehicle that uses electrical energy from an fuel cell._ (We could add has part some fuel cell).

The _plugin hybrid electric vehicle_ is more tricky as it has both an internal combustion engine and and electric motor (and batteries). My first idea was to make it a subclass of both _electric vehicle_ and _internal combustion vehicle_ but that would violate mono-hierarchy. My second and better idea is to create _plugin hybrid electric vehicle_ as direct subclass of vehicle and state something like has part some internal combustion engine and some electric motor while stating for the _electric vehicle_ something like has part electric motor and has not part internal combustion engine.

Are such statements possible, @akleinau @jannahastings ?
What do you think about including subclasses, @stap-m ?

In general I think, smaller issues are favourable, but now that the suggestions are already there... ;)

I agree with your subclasses @l-emele.
I'd prefer to harmonize the definitions: A battery electric vehicle is a vehicle that uses energy from an on-board battery.

Another subclass of electric vehicle would be overhead contact line vehicle.

I agree that plug-in hybrid electric vehicle should be a direct subclass of vehicle.

With the assignement of properties, I see the problem, that any vehicle may use electric energy or have a battery as part, but maybe not for propulsion. How can we distinguish here? This may also help with the creation of the class plug-in hybrid electric vehicle.

In general I think, smaller issues are favourable, but now that the suggestions are already there... ;)

To have smaller changes I could create a pull request for what I've done so far. Then we can include my work directly in the dev branch, but leave this issue open. Then we have at least a part of it quickly in the dev.

I agree with your subclasses @l-emele.
I'd prefer to harmonize the definitions: _A battery electric vehicle is a vehicle that uses energy from an on-board battery._

Another subclass of electric vehicle would be _overhead contact line vehicle_.

How would you define those? Do they include trains and trams?

I agree that plug-in hybrid electric vehicle should be a direct subclass of vehicle.

With the assignement of properties, I see the problem, that any vehicle may use electric energy or have a battery as part, but maybe not for propulsion. How can we distinguish here? This may also help with the creation of the class plug-in hybrid electric vehicle.

What about a subproperty like use for propulsion. Additionally we could also create a traction battery as subclass of battery and a traction motor as a subclass of electric motor (electric motor is missing anyway).

How would you define those? Do they include trains and trams?

Exactly, also trolley busses and overhead lorries.
An overhead line vehicle is an electric vehicle that is powered by an external source / power plant connected via an overhead contact line. ?

What about a subproperty like use for propulsion. Additionally we could also create a traction battery as subclass of battery and a traction motor as a subclass of electric motor (electric motor is missing anyway).

I thought about something like is powered by / powers? Then, it is not only applicable for vehicles. For power units, we do use the uses property, which btw is not yet defined!

How would you define those? Do they include trains and trams?

Exactly, also trolley busses and overhead lorries.
_An overhead line vehicle is an electric vehicle that is powered by an external source / power plant connected via an overhead contact line._ ?

What about _An overhead line vehicle is an electric vehicle that uses electrical energy via an overhead contact line._ Where the electrical energy exactly comes from is not necessary for the definition.

What about a subproperty like use for propulsion. Additionally we could also create a traction battery as subclass of battery and a traction motor as a subclass of electric motor (electric motor is missing anyway).

I thought about something like is powered by / powers? Then, it is not only applicable for vehicles. For power units, we do use the uses property, which btw is not yet defined!

As it is the same kind of property as for power plants/units we should use uses (and finally define this property).

I agree. Could we classify uses as a sub-property of has input?

Also just to note that uses has a sub-property, uses_dataset which is defined and is specific to the oeo-model module. This is quite a different scenario to the one in the oeo-physical module where uses is used to link power units to their fuels.

Good idea, but has input is currently defined as: _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._ So from this definition, has input can only be applied to a process but neither a vehicle nor a power plant (unit) is a process but an object.

P.S. I've edited your comment a small bit, there was a ' to much.

Btw, in this definition, there is an _iff_ (with double f). Do I assume correctly that this stands for _if and only if_?

So from this definition, has input can only be applied to a process but neither a vehicle nor a power plant (unit) is a process but an object.

Ah yes, you are quite right. It doesn't work as a sub-property. It means that our X uses Z would be a shortcut for something like X participates_in some (Y that has_input Z), where Y is a process.

Btw, in this definition, there is an _iff_ (with double f). Do I assume correctly that this stands for _if and only if_?

Yes.

P.S. I've edited your comment a small bit, there was a ' to much.

Thank you! :-)

If we've already a subproperty of uses, why not create another subproprty e.g. uses for powering?

What about uses energy?

What about uses energy?

energy is defined as a quality of a portion of matter or radiation, so I don't think that fits in this context. uses for energy supply?

I'm not sure if we really need a new property. Is it adding more "knowledge" to the relation compared to just saying "uses"?

Maybe it helps look not only onto the general vehicle class but also to the subclasses.

  • electric vehicle uses some electrical energy
  • internal combustion vehicle' uses some combustion fuel

These formulations look intuitively good to me. However electrical energy and combustion fuel are different types of classes (the first is a quality while the latter is (via portion of matter) an object aggregate. For me that would be okay to use here different types of classes. Or does this approach cause some ontological problems, @jannahastings ?

this doesn't cause problems :)

I'm not sure if we really need a new property. Is it adding more "knowledge" to the relation compared to just saying "uses"?

If we want to implement the reference to the type of energy a vehicle "uses" for its main source of energy / propulsion / powering to indicate the differneces between the vehicle types, I don't think that uses is explicit enough. As I said before, basically every modern car uses electrical energy as even combustion fueled cars have a battery inside.
Nevertheless, I'd also prefer a simple solution without creating new properties that are just usable for one class.

I think we can solve this problem by defining some more specific classes:

The vehicles:

  • battery electric vehicle: _A battery electric vehicle is a vehicle that stores energy in an on-board battery._

    • uses some electrical energy

    • has_part some traction battery

    • has_part some traction motor

  • plug-in hybrid electric vehicle: To be defined

    • uses some combustion fuel

    • uses some electric fuel

    • has_part some traction battery

    • has_part some traction motor

    • has_part some internal combustion engine

  • fuel cell vehicle: _A fuel cell electric vehicle is a vehicle that uses electrical energy from an fuel cell._

    • has_part some fuel cell

  • internal combustion vehicle: _An internal combustion vehicle is a vehicle powered by internal combustion engine._

    • uses some combustion fuel

    • has_part some internal combustion engine

The parts of the vehicles:

  • traction battery: _A traction battery is a battery used in vehicles for propulsion._

    • uses some electrical energy

  • traction motor: _A traction motor is an electric motor used for propulsion._
  • electric motor: To be defined

    • uses some electrical energy

  • internal combustion engine: To be defined

    • uses some combustion fuel

Some proposals for the missing definitions:

  • electric motor: _An electric motor is an energy converting device that converts electrical energy into kinetic energy._
  • internal combustion engine: _An internal combustion engine is an energy converting device that converts chemical energy into into rotational energy using a cyclic combustion process._

Any suggestions for defining aplug-in hybrid electric vehicle?

What about: _A plug-in hybrid electric vehicle is a vehicle that can use both electrical energy in a traction motor and a combustion fuel in an internal combustion engine for propulsion._?

I've implemented what what we've discussed so far, except the plug-in hybrid electric vehicles.

Additionally I suggest we include the following abbreviations as alternative terms: EV (electric vehicle), BEV (battery electric vehicle), PHEV (plug-in electric vehicles) and FCEV (fuel cell electric vehicle). At least our traffic modellers uses these abbreviations at lot.

As _fuel cell vehicle_ is a subclass of electric vehicle I suggest renaming it to _fuel cell electric vehicle_.

I've visualised the classes and properties around vehicles using OntoGraf: It has gotten quite complex, but it shows that it makes sense what we are doing:
grafik
Blue lines are 'is a' relations (=subclasses) while the dashed lines are various properties.

looks good, I corrected two small spelling mistakes.

What about: A plug-in hybrid electric vehicle is a vehicle that contains both a traction motor and an internal combustion engine and can switch between their usage for propulsion. ?

Can the overhead line vehicles be implemented by now or is there still need for discussion?

I suggest a slight extension of your PHEV definition: _A plug-in hybrid electric vehicle is a vehicle that contains both a traction motor and an internal combustion engine and can switch between their usage for propulsion. It contains a traction battery that can be charged with electrical energy from an external supply._ Without this extension the _plug-in_ part of the PHEV was not covered (there are hybrid vehicles which you cannot charge externally).

Regarding the overhead line vehicles I have to problems with your suggested definition (_An overhead line vehicle is an electric vehicle that is powered by an external source / power plant connected via an overhead contact line._):

  • Can this be formulated more generally, as it currently covers "normal" electric trains, trams, trolley busses and even overhead line trucks but metros and similar are not covered as they usually use an electric rail; also electric trains in UK are not covered as they use an electric rail, too. So my idea is to fine here a definition that covers both contact line and electric rail. For sure, there is some good wording. Maybe conductor?
  • I would leave out the power plant out of the definition as for the vehicle the source of electrical energy is irrelevant. Only relevant is the fact that it gets electrical energy from somewhere.

_An X vehicle is an electric vehicle that electrical energy via an conductor._
Any suggestion for a better label _X_?

This is now quite a big issue (again). So I suggest that we finalise the definitions of PHEV and overhead line vehicle and make a pull request. If we need any further vehicles, we could implement these with new issues.

I like the new def for PHEV.
Regarding the overhead line vehicles I agree. An X vehicle is an electric vehicle that uses electrical energy via a conductor. What about a class externally powered vehicle or grid supplied vehicle as X?

I prefer _grid supplied vehicle_ as it more precise but still covers all varieties of vehicles I've mentioned above.
I'll implement those two classes.

For consistency, I've implemented it now as _grid supplied electric vehicle_ as it is a subclass of _electric vehicle_.

Here the final graph:
grafik

Due to the PHEV it now much more complex, but the visualisation helps a lot.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

sfluegel05 picture sfluegel05  Â·  6Comments

Ludee picture Ludee  Â·  4Comments

stap-m picture stap-m  Â·  8Comments

stap-m picture stap-m  Â·  8Comments

sfluegel05 picture sfluegel05  Â·  6Comments