OBOFoundry / OBOFoundry.github.io

Metadata and website for the Open Bio Ontologies Foundry Ontology Registry
http://obofoundry.org
Other
163 stars 201 forks source link

Principle #7 "Relations" #966

Open nataled opened 4 years ago

nataled commented 4 years ago

Principle 7: “The ontology uses relations which are unambiguously defined following the pattern of definitions laid down in the OBO Relation Ontology.”

From RO: RO is a collection of relations intended primarily for standardization across ontologies in the OBO Foundry and wider OBO library. It incorporates ROCore upper-level relations such as part of as well as biology-specific relationship types such as develops from.

From OBO site: The ontology uses relations which are unambiguously defined following the pattern of definitions laid down in the OBO Relation Ontology.

cmungall commented 4 years ago

We should remove all vague weasely language like "following the pattern of...". I think this may have originally inserted with the temporal patterns of the 2005 RO paper in mind.

Also the goal of "unambiguous" is laudable, but this is one of these things that are easy to pick apart, so is essentially useless as a criterion.

Let's think of what we want out of this principle from the ground up. We already have ontologies like OBI that mint their own relations. There are pros and cons of this but the point is it's an ongoing conversation between domain ontologies, core, and ro. (See also discussion of modularization strategy here https://github.com/oborel/obo-relations/wiki/ROModules).

We also have some ontologies that mint new URIs for which equivalent RO relations already exist. Or that are in the scope of RO.

We will also need to update this principle when core matures, but for now I suggest:

Each OBO ontology MUST reuse existing relations (aka object properties) that have already been declared, rather than declaring duplicative relations. Here by reuse, we mean that the actual PURL is used. In some cases it may make sense for an ontology to declare a new relation in its own ID space. In these cases, there SHOULD still be coordination with RO, for example in the form of an issue submitted to the RO tracker

nataled commented 4 years ago

Page updated 2019-08-06 during the EWG call. Still more work to do.

ramonawalls commented 4 years ago

Proposed updated documentation for principle 7. Can edit during the call if changes are needed.

Principle 7: Relations

Summary

Relations (object properties) should be reused from the Relations Ontology (RO).

Purpose

To facilitate interoperability between multiple ontologies, especially with respect to logical inference. A reasoner can only detect logical inconsistencies between ontologies and infer new axioms if the ontologies use the same object properties.

Recommendations

Each OBO ontology MUST reuse existing relations (object properties) that have already been declared in the Relations Ontology (RO), rather than declaring duplicative relations.

In some cases it may make sense for an ontology to declare a new relation in its own ID space. In these cases, there SHOULD still be coordination with RO, for example in the form of an issue submitted to the RO tracker.

Implementation

Reuse means that the RO object property PURLs are used in the target ontology.

Ontology developers should be aware that RO object properties (in rare instances) can evolve over time and some properties might become obsolete. Developers SHOULD monitor the state of the RO relations they use and update with each ontology release.

Note that several RO object properties have PURLs inherited from BFO (e.g., http://purl.obolibrary.org/obo/BFO_0000051 for has part). These are still considered RO relations.

Object properties that are created outside RO SHOULD be sub-properties of an RO relation.

Examples

Definition of 'acrpodial skeleton' in UBERON has a subClass axiom stating: 'has part' some 'phalanx endochondral element'

The relation 'has_specified_input' (http://purl.obolibrary.org/obo/OBI_0000293) is a subproperty of 'has participant' (http://purl.obolibrary.org/obo/RO_0000057)

Counter-examples

XAO uses it own relation 'starts during' (http://purl.obolibrary.org/obo/xao#start_stage) instead of reusing an RO relation, without specifying that it is a subproperty of an RO relation.

Criteria for review

  1. The ontology must not duplicate existing RO properties.
  2. The ontology should use existing RO properties, rather than creating new propeties.

See http://www.obofoundry.org/principles/checks/fp_007

nlharris commented 2 years ago

did this ever get reviewed?

nataled commented 2 years ago

More work to be done.