Skip to content

Conversation

@meghalithic
Copy link
Collaborator

@meghalithic meghalithic commented May 2, 2025

issue #3027

creating the following terms: facial crest, nasal notch, and staphylon

@meghalithic meghalithic requested a review from rays22 May 2, 2025 10:08
@github-actions github-actions bot requested a review from cmungall May 2, 2025 10:11
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes detected in src/ontology/uberon-edit.obo involving intersection_of. Review by specific Uberon Core Team member is required.

Copy link
Collaborator

@gouttegd gouttegd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like you inadvertently created two “facial crest” terms.

And the first one has logical axioms that can’t be represented in OBO.

property_value: foaf-homepage "http://uberon.org" xsd:anyURI
property_value: has_ontology_root_term UBERON:0000104
property_value: has_ontology_root_term UBERON:0001062
owl-axioms: Prefix(owl:=<http://www.w3.org/2002/07/owl#>)\nPrefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)\nPrefix(xml:=<http://www.w3.org/XML/1998/namespace>)\nPrefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)\nPrefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)\n\n\nOntology(\nDeclaration(Class(<http://purl.obolibrary.org/obo/UBERON_0001474>))\nDeclaration(Class(<http://purl.obolibrary.org/obo/UBERON_0007681>))\nDeclaration(Class(<http://purl.obolibrary.org/obo/UBERON_4200133>))\nDeclaration(Class(<http://purl.obolibrary.org/obo/UBERON_4200230>))\nDeclaration(Class(<http://purl.obolibrary.org/obo/UBERON_7500131>))\nDeclaration(Class(<http://purl.obolibrary.org/obo/UBERON_8500006>))\nDeclaration(ObjectProperty(<http://purl.obolibrary.org/obo/BFO_0000050>))\n\n############################\n# Classes\n############################\n\n# Class: <http://purl.obolibrary.org/obo/UBERON_7500131> (<http://purl.obolibrary.org/obo/UBERON_7500131>)\n\nSubClassOf(<http://purl.obolibrary.org/obo/UBERON_7500131> ObjectIntersectionOf(<http://purl.obolibrary.org/obo/UBERON_4200133> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/BFO_0000050> <http://purl.obolibrary.org/obo/UBERON_0007681>)))\n\n# Class: <http://purl.obolibrary.org/obo/UBERON_8500006> (<http://purl.obolibrary.org/obo/UBERON_8500006>)\n\nSubClassOf(<http://purl.obolibrary.org/obo/UBERON_8500006> ObjectIntersectionOf(<http://purl.obolibrary.org/obo/UBERON_4200230> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/BFO_0000050> <http://purl.obolibrary.org/obo/UBERON_0001474>)))\n\n\n)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are trying to insert the following axiom:

'facial crest' SubClassOf: 'crest' and ('part of' some 'facial neural crest')

Such an axiom cannot be represented in “pure” OBO format, hence the introduction of this owl-axioms tag.

If you intended to say a 'facial crest' is both a 'crest' and something that is 'part of' some 'facial neural crest', you should do so in two independent SubClassOf axioms, there is no need for an ObjectIntersectionOf.

If you intended to say that any 'crest' that is 'part of' some 'facial neural crest' is a 'facial crest', then what you need is a EquivalentTo axiom, not a SubClassOf axiom. Such an axiom is representable in “pure” OBO.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gouttegd do you have any guidance for when EquivalentTo should be used ('crest' and 'part of' some 'facial neural crest') or SubClaseOf ('crest', 'part of' some 'facial neural crest')? The facial crest is not a crest can pop up anywhere (as seems to be facial neural crest), it is specifically on the lateral side between the maxilla and zygomatic arch.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some pages on the OBOOK about the issue (for example here and here), though it’s nowhere near as complete as it should be IMHO.

But the most important rule of thumb, I believe, is: When in doubt, use SubClassOf. :) Whenever you are unsure which of SubClassOf or EquivalentTo is more appropriate, it can never be wrong to use SubClassOf (the worst that can happen is that you will make a statement that won’t be as “strong” as it should be, but that will be correct all the same).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

However, independently of the choice between SubClassOf and EquivalentTo, there may also be a problem with the term involved: are you sure this 'facial crest' is 'part of' some 'facial neural crest'?

'facial neural crest' is a part of the neural crest, an embryonic structure. That does not seem to fit well with the text definition.

Of note, the original term requested had proposed a logical definition involving 'facial skeleton', not 'facial neural crest'.

@gouttegd gouttegd mentioned this pull request May 2, 2025

[Term]
id: UBERON:8500008
name: DEPRECATED Facial crest
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given that the term has never made it into a public release (it did not even make it into the master branch!), it would have been perfectly acceptable to simply delete it without leaving a trace.

@gouttegd
Copy link
Collaborator

gouttegd commented May 6, 2025

@meghalithic There are a lot of minor conflicts, likely due to the fact that the first commit of the PR was done nearly two years ago. Do you want me to resolve them for you?

@meghalithic
Copy link
Collaborator Author

@gouttegd yes please! Thank you!

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes detected in src/ontology/uberon-edit.obo involving intersection_of. Review by specific Uberon Core Team member is required.

Copy link
Collaborator

@gouttegd gouttegd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The conflicts have been fixed (which makes the changes much easier to review now that they are no longer interspersed with unrelated changes).

The logical definition of 'nasal notch' is problematic, see below.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes detected in src/ontology/uberon-edit.obo involving intersection_of. Review by specific Uberon Core Team member is required.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes detected in src/ontology/uberon-edit.obo involving intersection_of. Review by specific Uberon Core Team member is required.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes detected in src/ontology/uberon-edit.obo involving intersection_of. Review by specific Uberon Core Team member is required.

@github-actions
Copy link
Contributor

This PR has not seen any activity in the past month; if nobody comments or reviews it in the next week, the PR creator will be allowed to proceed with merging without explicit approval, should they wish to do so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants