Open cmungall opened 5 years ago
Also, @rctauber says
we [ECO] have added new "curator inference" terms to talk about definition sources from things like encyclopedias and databases.
This sounds interesting. I think it's good to be very explicit about how these things were derived.
How should this be ported to existing ontologies? For a long time, many ontologies such as GO, Uberon, CL, HPO, all the MOD ontologies have intermingled curator IDs and publication sources as "definition xrefs" (axiom annotations with hasDbXref). I suppose there is an implicit inference that anything with a curator xref or orcid is a curator inference?
In retrospect it would have been better to cleanly separate these. But it may be hard getting these sources to retrospectively fix.
Anyway this is taking ECO beyond evidence for biological assertions and into assertions about text and narrative objects, with uses for ontology metadata rather than in bio databases, so seems we should coordinate in this repo.
Following up on a comment I made in the issue Principle #6 "Textual definition".
Not sure if this relevant, but using an annotation axiom on the definition to provide the db xref does not allow for the db xref to be annotated with other metadata; e.g. that PMID:10915862 was published 2000.
Perhaps this limitation doesn't matter much.
@cmungall I'm sympathetic to this argument. @wdduncan You can have annotations on the annotations. See the productions in the Complete Grammar of the functional syntax spec.
Annotation := 'Annotation' '(' annotationAnnotations AnnotationProperty AnnotationValue ')'
annotationAnnotations := { Annotation }
Works in LSW. Try it.
(with-ontology f ()
((asq (subclassof (annotation (annotation !rdfs:label "bar") !rdfs:label "foo") !a !b)))
(princ (to-owl-syntax f :functional)))
<snip>
SubClassOf(Annotation(Annotation(rdfs:label "bar") rdfs:label "foo") <http://example.com/a> <http://example.com/b>)
Hi @wdduncan - I agree that IRIs for PMIDs is better modeling. I think this is orthogonal to this issue though, which is about whether to use axiom annotations vs an entity annotation
(if you want to join the #obo-format
group on slack there is ongoing work to revamp the obo2owl translation including using IRIs in these contexts)
@alanruttenberg Thanks for pointing this out in the functional syntax. However, as far as I can tell, Protege only lets you nest annotations one deep.
For example, see the definition in Protege for the GO term 'de novo' NAD biosynthetic process.
When click on the "@", you can only edit/add annotations for the definition, and not add another annotation on the database cross reference.
I am sympathetic to the argument that we shouldn't let Protege limit how we annotate our ontologies. But, I do realize that many (perhaps most?) ontology editors will not be keen on writing such second order annotations.
But, again, perhaps this isn't much of a concern. Can determine how important such second level annotations are?
Yah, tried it too. This page says "Of course, annotations are themselves axioms so using this interface it is possible to annotate the axiom annotations." but that doesn't seem to be true. Maybe worth submitting an issue. I opened an ontology with them and at least it round-trips them, so they aren't lost if they are there.
I think it must be a regression because the screenshot on the page I linked to shows the annotation icon on the annotation pictured.
From: https://github.com/DiseaseOntology/HumanDiseaseOntology/issues/638
We have two patterns. "GO-lineage" ontologies heavily use axiom annotations on annotation assertions. These are translated to "def xrefs" and "synonym xrefs"
E.g
In contrast other IAO-lineage ontologies have properties like definition_source.
I argue against this: