information-artifact-ontology / ontology-metadata

OBO Metadata Ontology
Creative Commons Zero v1.0 Universal
19 stars 8 forks source link

clarify definition of term replaced by - does it mean equivalent, or can be substituted in certain contexts? #58

Open cmungall opened 3 years ago

cmungall commented 3 years ago

http://purl.obolibrary.org/obo/IAO_0100001 Definition: Use on obsolete terms, relating the term to another term that can be used as a substitute

definition editor: Alan Ruttenberg definition source: Person:Alan Ruttenberg has curation status: pending final vetting http://www.w3.org/2000/01/rdf-schema#comment: Add as annotation triples in the granting ontology

This definition is ambiguous. There have been two interpretations

  1. Can be substituted in all contexts, i.e the obsoleted concept is equivalent to the replacement
  2. Can be substituted in a specific context
    • e.g. in the context of annotation of gene products, if the obsoleted concept is narrower then the annotation can be propagated up

robot repair assumes 1 - it will replace all axioms

I think most ontologies assume 1

However, GO makes interpretation 2.

We should first survey to see how groups have used this

depending on results of the survey, we can take different courses of action, e.g

  1. adopt the weaker interpretation, and come up with a mechanism for being able to specify the narrower interpretation; adapt robot appropriately
  2. adopt the stronger interpretation (equivalent / exact), no changes required for robot, provide a mechanism (eg new property) for the broader interpretation. This would be used heavily by GO

cc @balhoff @pgaudet

matentzn commented 3 years ago

Not quite at the heart of this ticket: could someone enumerate all the different ways in which ontology terms can be declared as replaced? We would like to standardise this a bit more so that we can offer a reliable "dataset update" service - annotations in, all annotation to obsolete terms replaced by their "replacements" out (and a report, in case of terms that were obsoleted without replacement"). Just from looking at CL, I see 3 variations:

CL:

A: <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string">replaced_by: PO:0000066</rdfs:comment>
B: <obo:IAO_0100001 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">DDANAT:0000403</obo:IAO_0100001>
C: <obo:IAO_0100001 rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">http://purl.obolibrary.org/obo/GO_0098537</obo:IAO_0100001>

C is my ideal for OWL serialisations, B is what the OBO format parser comes up with when left to its own devices. A should obviously never ever happen.

In any case, I think IAO:0100001 must IMO indicate an equivalent replacement - else its pretty useless for automatic updates of datasets.

@dosumis may have some more to say here.

dosumis commented 3 years ago

Can be substituted in a specific context e.g. in the context of annotation of gene products, if the obsoleted concept is narrower then the annotation can be propagated up

News to me. Is this new?

I guess as GO = the ontology and the annotations so they can support their own specialist interpretations for the annotation sets they control. Everyone else needs a reliable way to know when an update can be automated vs requiring manual inspection (consider flag).

Also worth noting most of these replaced_by tags are coming from term merges in OBO (stanza automatically generated from alt-IDs, which must be safe).

cmungall commented 2 years ago

Although discussion has moved to the PR, I wanted to provide an update on my original comment:

However, GO makes interpretation 2.

In fact since this issue was created GO has changed its practice to be in line with all other ontologies, and is in line with @dosumis' understanding