Open nataled opened 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
Page updated 2019-08-06 during the EWG call. Still more work to do.
Proposed updated documentation for principle 7. Can edit during the call if changes are needed.
Relations (object properties) should be reused from the Relations Ontology (RO).
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.
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.
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.
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)
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.
did this ever get reviewed?
More work to be done.
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.