-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handling missing externally defined synonym type declarations #947
Comments
Thank you for highlighting that there are two different issues here. On the Slack discussion I had completely missed the second problem (“synonym-type-declarations-are-missing-from-base-product”) entirely, focusing instead on the first (“synonym-type-declarations-are-missing-during-QC”). For that second problem, I would agree with your proposed solution:
For the first however, injecting fabricated synonym type definitions as needed (which is basically what What about having two distinct runs of |
This adds a long runtime. Maybe the actually correct way to deal with it is to pretend that
Is functionally equivalent to:
i.e, serves as "subset declaration" - then we could just wiggle out of this here, by saying "they have to be declared". |
Sorry, but either I don’t understand what you are proposing or I don’t understand how it would solve anything. What do you mean, “pretend that ...“? Where would we pretend something like that? Are you suggesting a change in how the OWL API treats such axioms? What do you mean, “we could just say, ‘they have to be declared‘”? Those synonym types are declared – just not in the -edit file. |
What I am saying is this: Module extraction processes, base generation processes need to know about the fact that these annotations are essential, and either inject them after the fact, or consider them during export. I think injecting after the fact is fine, as OWL API, for example, injects missing class declarations as well: If you load/safe this ontology:
You will end up with
After the serialisation (at least in functional syntax) |
We have two distinct issues caused by the fact that we are now, for the first time, importing externally declared synonym types into uberon (and other ODK driven ontologies):
SRCMERGED
, externally imported synonym types are not “declared”, i.e. subproperty of synonymtypeproperty.robot remove --imports
all externally declared synonym types lose their declaration in the base file.The consequence of these is that the resulting OBO file format serialisations become invalid (missing synonym type declarations). I just tried it: Serialising an owl file into OBO without the subproperty axiom simply does not include it.
There are many things to be said here, including that OBO format should not require this obvious syntactic sugar. In the absence of this though, I think we need to inject
During both
and
Unless anyone has a better idea.
The text was updated successfully, but these errors were encountered: