OpenEnergyPlatform / ontology

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

Individuals without definition #859

Open l-emele opened 2 years ago

l-emele commented 2 years ago

Description of the issue

We have in oeo-model a lot of individuals without definition (sorted by types):

Type Individual Updated Definition
methodical focus econometric
methodical focus monte carlo
methodical focus spreadsheet
modus active
modus inactive
modus passive
software framework c++ #1869
software framework fortran #1869
software framework gams
software framework gnu
software framework java #1869
software framework math prog
software framework matlab #1869
software framework modelica
software framework ms_excel
software framework php #1869
software framework python #1869
software framework r #1869
software framework ruby #1869
software framework vba #1869
uncertainty approach deterministic
uncertainty approach stochastic

At least some of them are not unambiguous without a definition. Just three examples:

Ideas of solution

If you already have ideas for the solution describe them here

Workflow checklist

I am aware that

l-emele commented 2 years ago

@christian-rli : I assigned you to this issue as most of the individuals are related to software and data.

l-emele commented 2 years ago

@christian-rli @Ludee : Do you already have some ideas for this issue?

christian-rli commented 2 years ago

We haven't gotten into this yet @l-emele . As @Ludee is getting into ontology deveopment now however, I think that this might be a good issue to begin with. I put it on our internal agenda.

l-emele commented 2 years ago

@Ludee : I assigned this issue now to you. Do you already have some proposals for definitions of these individuals?

l-emele commented 2 years ago

@OpenEnergyPlatform/oeo-domain-expert-energy-modelling @OpenEnergyPlatform/oeo-domain-expert-linked-open-data : Any suggestions for definitions? Maybe at least for some of these individuals? We do not necessarily have to implement all at once...

l-emele commented 2 years ago

I think, that some of the individuals have the wrong type. I would describe c++, fortran, php, python etc not as software framework [^1] but as programming language [^2]:

[^1]: A software framework is a Software that is generic and can be adapted to a specific application. [^2]: IAO_0000025: A language in which source code is written that is intended to be executed/run by a software interpreter. Programming languages are ways to write instructions that specify what to do, and sometimes, how to do it. (Not yet imported from IAO into OEO.

Ludee commented 2 years ago

I will start collecting good definitions now. Not sure how to proceed with the import from IAO.

Ludee commented 2 years ago

Thanks for the help @l-emele. I rushed in the implementation because I thought individuals are not the same as classes. I added a copy of the definitions in the table above. Another good option would be separate issues for each type.

l-emele commented 2 years ago

Thank you very much for your proposals. They are a great start for discussion. Some comments:

abc is an analytical approach and a system design approach that xyz: These definitions break mono-hierarchy. As we dont't have system design approach in the OEO, I suggest to shorten these definitions to abc is an analytical approach that xyz. Apart from that, I like the definitions of the analytical approach individuals, as they also show the relations to other things. However, I am asking myself whether these individuals in fact subclasses. @stap-m @jannahastings , what do you think?

The individuals true and false are fine to me.

When thinking about the data formats, I am asking myself whether we have here more like a subclass hierarchy. Also I think, we have to distinguish between a data format and a file. And then something like file 'has data format' some 'data format' and `' csv file' 'has data format' some 'csv file format'. What about introducing the following subclass structure:

Regarding the solvers: I like the definition of gurobi: Gurobi is a solver to solve numerical programming tasks. ... Others need some refinement:

Oops, that is now a very long comment. Maybe it is worth to create a separate issue for

  1. the data/file (format)s
  2. the solvers
Ludee commented 2 years ago

Hi Lukas, thank you for this detailed comment. I had the same thoughts on the data formats and your suggestion includes and combines everything very nicely. Let's discuss them in separate issues.

chrwm commented 1 year ago

I'll remove the release milestone from the meta issue, as the sub-issues are tracked and discussions are still ongoing.

l-emele commented 9 months ago

In my view the following are not instances of software framework but programming languages

To me, it is hard to define, what differentiates each of these programming languages. But maybe it is enough, do specify where these programming languages come from. Also as the individuals are proper nouns or abbreviations I suggest to capitalise the labels. So here are some proposals for definitions:

Matlab is a special case, I think there are two entities to differentiate: A software framework and the programming language the software framework uses; Wikipedia describes it as: MATLAB (an abbreviation of "MATrix LABoratory" is a proprietary programming language and numeric computing environment developed by MathWorks. So I suggest two individuals:

Both individuals could get the alternative label Matlab. The reason to split Matlab into two is that users of the OEO can then differentiate. Also there is third-party that can use code written in the Matlab programming language, for example GNU Octave. R might be a similar case, but I do not now enough about that programming language.

Sources: Wikipedia pages of the respective programming languages.

l-emele commented 1 week ago

For almost a year, no one reacted and especially no one objected to my proposals above. So I will implement the definitions for the programming languages now.

stap-m commented 1 week ago

SWO unfortunately has no nice definitions for their classes, but contails classes for plenty of languages. We should map them, once we introduced the "skos:close to" annotation, see PR #1874

l-emele commented 5 days ago

I updated the table in the issue start for the individuals we already updated.

Regarding the remaining: