Skip to content

Fix OBI:0000070 incorrectly declared as owl:AnnotationProperty in component files#3579

Draft
Copilot wants to merge 2 commits intomasterfrom
copilot/fix-assay-annotation-property
Draft

Fix OBI:0000070 incorrectly declared as owl:AnnotationProperty in component files#3579
Copilot wants to merge 2 commits intomasterfrom
copilot/fix-assay-annotation-property

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 26, 2026

OBI:0000070 (the OBI 'assay' class) was being declared as owl:AnnotationProperty in bgo-cl-comp.owl and wmbo-cl-comp.owl, then used as a predicate in axiom annotations. This creates illegal OWL punning between a named class and an annotation property.

Changes

  • bgo-cl-comp.owl: Replace owl:AnnotationProperty declaration for OBI_0000070 with a proper oboInOwl:evidence declaration; replace all 57 predicate usages accordingly.
  • wmbo-cl-comp.owl: Remove owl:AnnotationProperty declaration for OBI_0000070 (oboInOwl:evidence was already declared); replace all 250 predicate usages accordingly.

Before:

<owl:AnnotationProperty rdf:about="http://purl.obolibrary.org/obo/OBI_0000070"/>
...
<obo:OBI_0000070 rdf:resource="http://www.ebi.ac.uk/efo/EFO_0008992"/>

After:

<owl:AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#evidence"/>
...
<oboInOwl:evidence rdf:resource="http://www.ebi.ac.uk/efo/EFO_0008992"/>

The intent of these annotations — recording the assay type (EFO:0008992) as evidence for location axioms — is preserved using oboInOwl:evidence, a proper OBO annotation property.

Original prompt

This section details on the original issue you should resolve

<issue_title>CL is asserting that the OBI:0000070 'assay' class is an annotation property</issue_title>
<issue_description>One of OBI's most important terms is the OBI:0000070 'assay' class.

In two of CL's component files, 'assay' is being declared as an owl:AnnotationProperty:

These were introduced in PRs #3464 and #3169.

This is a very bad form of axiom injection, because OWL treats classes and annotation properties is completely different ways.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

…component files

OBI:0000070 ('assay') is a class in OBI but was being incorrectly declared
as owl:AnnotationProperty in bgo-cl-comp.owl and wmbo-cl-comp.owl. This
declaration was also used as a predicate in axiom annotations throughout
both files.

Fix: Replace owl:AnnotationProperty declaration for OBI_0000070 with
oboInOwl:evidence in bgo-cl-comp.owl, and replace all usages of
<obo:OBI_0000070 rdf:resource="..."/> with <oboInOwl:evidence rdf:resource="..."/>
in both files. The wmbo-cl-comp.owl already had oboInOwl:evidence declared,
so only the OBI_0000070 declaration was removed there.

Resolves the issue where CL was punning OBI:0000070 as both a class and
an annotation property, which OWL treats in completely different ways.

Signed-off-by: GitHub Copilot

Co-authored-by: cmungall <50745+cmungall@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix assay class declaration in CL component files Fix OBI:0000070 incorrectly declared as owl:AnnotationProperty in component files Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CL is asserting that the OBI:0000070 'assay' class is an annotation property

2 participants