-
Notifications
You must be signed in to change notification settings - Fork 205
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
Define when it is OK to subclass terms in another ontology #1991
Comments
I not only like this, I think it is very necessary and already reflected by the "Scope" principle (which is not very well fleshed out right now, https://obofoundry.org/principles/fp-005-delineated-content.html). This is how I would like to attack it:
It is important to implement this rule independent of all existing violations. We have to improve this moving forward and not forever point to existing violations as reasons for not moving on. |
This is critical. PCL defines subclasses of CL terms. Single species AOs subclass Uberon and CL... Big ask to require this for every subClassOf axiom that breaks the rule:
|
And why are we folding COB into this issue? Isn't point 1 above more aspiration than reality for many ontology branches? (e.g. see issues around anatomical entities) |
IAO would either have to be very permissive and/or grow to include
domain-specific ICEs across numerous domains.
If the policy had been in place prior to STATO, how would things be better?
…On Mon, Jul 18, 2022 at 3:01 PM David Osumi-Sutherland < ***@***.***> wrote:
And why are we folding COB into this issue? Isn't point 1 above more
aspiration than reality for many ontology branches? (e.g. see issues around
anatomical entities)
—
Reply to this email directly, view it on GitHub
<#1991 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAJR55R5YKF2VDR4YKUWOVTVUWSZ7ANCNFSM534YNAFA>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Yes, I mentioned the Uberon case in the original comment. There would be an agreement that species-specific subclasses are OK by a blanket rule, but if you want to make a species-neutral subclass this should be agreed first. PCL and CL is a good example, there is obviously close coordination and clear scoping rules between these two ontologies. So there would be a pairwise agreement. But I don't think CL wants extra-ontology subclasses that are neither data-driven classifications not species-specific, until new situations arise.
There is nothing inherently wrong with this provided there is a simple process for adding new terms, for example, template-based with clear design patterns, and many people able to merge PRs. But see below for alternatives.
There would be clear delineation between the two ontologies. There's lots of ways to do this:
But simply having IAO have all information coupled with a simple process for adding new terms would be better than the current situation, with the striping between ontologies. I am aware of some reasons why the current situation arose, I am not criticizing past decisions, but we need to move beyond these and implement clear modularity and scoping. |
Just became aware of this issue. I'll register a strong objection. Let's quit proposing rules that limit what developers can put in their ontology. |
Have to agree with Alan, as most of my group's ontologies build off other ontologies. In some cases we have requested new classes from appropriate ontologies, but in other cases our classes are probably too specific for inclusion in a higher level domain ontology. |
@addiehl can you describe some of the processes you have put in place to avoid some of the issues highlighted here? It would be great to have documentation and SOPs on this and very much in the spirit of my original request! |
I have a number of examples to describe, but don't have time until next week to write this up. |
This is a companion issue to:
But that issue focuses on injection which I define as adding axioms about terms another ontology (this is clearly defined in that issue, don't bring the discussion back here)
This issue is about when it is OK to make axioms that are not about terms in another ontology but that reference them in subClassOf axioms, in particular subClassOf between named classes.
On the surface this should be OK - I am an not altering the target ontology axioms in any way. Indeed some ontologies such as COB and BFO and CARO are designed expressly with the intention they are subclassed. To a certain extent uberon is too, although only for species-specific subclasses.
However, subclassing others ontologies is rampant in OBO, and this is actually harmful. It is poor modularity and it leads to confusion about scope. Users are not clear which ontology to go to get a term or to request a term.
It is also terrible for maintainability. If I maintain an ontology O1, containing class C1, and another ontology O2 starts makes subclasses, C1a, C1b, and so on. Then if I later need to introduce subclasses in O1, I need to first scan all OBO to see who has made subclasses and coordinate with these ontologies. This places a large impediment for maintainability.
Here is an example of what I call a heavily chequered inter-ontology subclass pattern, where there is a lack of clarity (to an external user about what belongs in STATO, OBI, or IAO):
(truncated)
To replicate with OAK:
stato roots -p i --id-prefix STATO | stato relationships - -p i
Proposal:
Ontologies MUST NOT create is-a children of classes in other ontologies in their own ontology, unless permission explicitly granted, on a per-term, per-branch, or per-ontology basis. This would be recorded in OBO metadata, e.g. for COB, BFO, CARO. OBI could choose to grant permission in this way, preferably with a link to some kind of documentation that states the relative scope of the two ontologies.
The text was updated successfully, but these errors were encountered: