ontology
ontology copied to clipboard
Update import module process #1154
Summary of the discussion
This PR introduces the new structure for imported modules which is described in #1154 . It solves the potential dataloss from #1118 and allows to automatically generate the extractions from the Relation Ontology.
Key-Elements of current change
This is an architectural change and does not involve content changes.
Everything should work normally, there is just one change by RO-developers which might be important to note:
bearer of
is now relabeled has characteristic
(Those terms were used as alternative label
before, so they switched the main label in the source ontology. As this does not affect the IRIs, all axioms should stay intact.)
- replacing
ro-module
byro-extracted
as suggested in discussion - introducing
oeo-import-edits.owl
as a unified module for all changes to imported concepts and properties - moving all custom ro-related axioms from
oeo.omn
andro-module
to the newoeo-import-edits.owl
- fixing some minor stuff like an outdated IRI in the extraction-script
This PR is quite extensive, so I limited changes to the minimum extent.
oeo-shared
is filled with many custom axioms related to ro-extracted
.
Once this PR is included, I think moving them to oeo-import-edits
might be the best choice.
Otherwise it is no coherent, proper solution in my opinion.
Further steps
- duplicating the process for
iao-module
using the same unifiedoeo-import-edits
-file for custom axioms - cleaning up
oeo-shared
concerning all custom axioms related to imported concepts + properties ~~creating a wiki-entry on how to use the scripts for generating updatedro-extracted
+iao-extracted
-files~~ (already done, see https://github.com/OpenEnergyPlatform/ontology/wiki/Modules-of-the-OEO)
I added the respective documentation to the wiki, so that there's a reference for future edits.
@l-emele Thank you for your review!
@mglauer: You are also appointed as reviewer. Could you please review this PR as I am not that familiar with imports.
I am not completely familiar with imports. But at least, everything looks reasonable and Protégé keeps working. So I accept this PR. However, I would be glad if a second person could review this PR.
@MGlauer or @fabianneuhaus : Could you please review this PR?
@stap-m : What do we do with this PR that is now open for ages?
I will take a look and discuss this internally asap.
To fix the merge conflicts, I removed the "inverse of" axioms from ro-module.owl for RO_0002234 / has output
and RO_0002352/ input of
, since they are already moved to the new oeo-import-edits.owl.
Further, there are some BFO-classes in ro-module.owl, which were originally not part of this PR and were probably added in a later PR. I leave them in the module, because I don't have the overview of their purpose, yet. We might delete / move them to oeo-import-edits.owl later. The classes are: BFO_0000002, BFO_0000015, BFO_0000017, BFO_0000019 and BFO_0000040
To me, the PR seems fine now. Since the PR contains bigger structural changes, I added you as a further reviewer @areleu. It would be great to finish this PR soon / before the next release.
I will take care of this this week.
To fix the merge conflicts, I removed the "inverse of" axioms from ro-module.owl for RO_0002234 /
has output
and RO_0002352/input of
, since they are already moved to the new oeo-import-edits.owl.Further, there are some BFO-classes in ro-module.owl, which were originally not part of this PR and were probably added in a later PR. I leave them in the module, because I don't have the overview of their purpose, yet. We might delete / move them to oeo-import-edits.owl later. The classes are: BFO_0000002, BFO_0000015, BFO_0000017, BFO_0000019 and BFO_0000040
Only this point confuses me a little but I don't see any critical issues
Edit: These are the PRs/commits asociated to these:
https://github.com/OpenEnergyPlatform/ontology/pull/1353 https://github.com/OpenEnergyPlatform/ontology/commit/2594fc85b3d0abbd3720866a862c0fdf995d0f72 https://github.com/OpenEnergyPlatform/ontology/pull/485 https://github.com/OpenEnergyPlatform/ontology/commit/971606aac787b5ba31f517f65b609175b6715f7f
I think they are added automatically by owl API. They seem to be used in some axioms, but AFAIK one does not need to do the Class declaration to use it.