Skip to content

Commit 63e5205

Browse files
authored
Major update to P7 Relations (#2709)
* Update fp-007-relations.md Added the 'what to do, when' list discussed and approved by the Ops committee. Note that Examples and Counter-Examples still need to be added (will be done under a separate PR) * Update fp-007-relations.md (interim) * Update fp-007-relations.md (interim) * Update fp-007-relations.md (for review) * Update fp-007-relations.md (for review) * Update fp-007-relations.md * Update fp-007-relations.md * Update fp-007-relations.md * Update fp-007-relations.md * Update fp-007-relations.md
1 parent 1517c44 commit 63e5205

1 file changed

Lines changed: 30 additions & 12 deletions

File tree

principles/fp-007-relations.md

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,53 @@ layout: principle
33
id: fp-007-relations
44
title: Relations (principle 7)
55
---
6-
7-
## NOTE
8-
9-
The content of this page is scheduled to be reviewed. Improved wording will be posted as it becomes available.
6+
GO TO: [Recommendations/Requirements](#recommendations-and-requirements) | [Implementation](#implementation) | [Examples/Counter‑Examples](#examples) | [Criteria for Review](#criteria-for-review) | [Feedback/Discussion](#feedback-and-discussion)
107

118
## Summary
129

13-
Relations should be reused from the Relations Ontology (RO).
14-
15-
[This check is automatically validated.](checks/fp_007)
10+
Existing relations MUST be reused. New relations SHOULD be submitted to the Relations Ontology (RO).
1611

1712
## Purpose
1813

19-
To facilitate interoperability between multiple ontologies, especially with respect to logical inference. That is, a reasoner can only detect logical inconsistencies between ontologies and infer new axioms if the ontologies use the same object properties.
14+
To facilitate interoperability between multiple ontologies, especially with respect to logical inference, because a reasoner can only detect logical inconsistencies between ontologies and infer new axioms if the ontologies use the same relations (aka object properties).
2015

2116
## Recommendations and Requirements
2217

23-
Each OBO ontology MUST reuse existing relations (aka object properties) that have already been declared in the Relations Ontology (RO),
24-
rather than declaring relations that mean the same as an existing RO relation. Where it makes sense for an ontology to declare a new relation in
18+
For any given relation need, each OBO ontology MUST reuse a relation from the Relations Ontology (RO) or other ontology if the appropriate relation already exists,
19+
rather than declaring new a relation that holds the same meaning. Where it makes sense for an ontology to declare a new relation in
2520
its own ID space and there is a RO relation that is logically a super-property of the new relation, the new relation MUST be asserted to be
2621
a sub-property of the RO relation. In such cases, it is requested that there still be coordination with RO, for example in the form of an issue
2722
submitted to the [RO tracker](https://github.com/oborel/obo-relations/issues).
2823

2924
## Implementation
3025

31-
Reuse means that the actual relations PURLs are used. Ontology developers should be aware that RO relations (in rare instances) can evolve over time and previous relations might become obsolete. This means developers should monitor the state of the RO relations they use.
26+
### Reusing relations
27+
'Reuse' means that the actual existing-relation PURL is used. Ontology developers should be aware that (in rare instances) relations can evolve over time and previous relations might become obsolete. This means developers should monitor the state of the relations they use. The Relations Ontology MUST be the first source for appropriate relations, and ontology developers SHOULD, with due diligence, search RO for needed relations. If a necessary relation cannot be found within RO, then the developers MUST search other OBO ontologies for reasonable candidates using, for example, an ontology search engine such as [Ontobee](https://ontobee.org/) or [OLS](https://www.ebi.ac.uk/ols4/).
28+
29+
### Creating New Relations
30+
The appropriate home for a new relation ('R') will depend on multiple factors, including the general applicability of 'R' beyond its use by developers of the 'R'-proposing ontology ('O'), and with consideration of the domain and range for 'R':
31+
- If both the domain and range of 'R' are classes in the same ontology 'O' as 'R', 'R' MAY be kept in 'O';
32+
- If either the domain or range of 'R' are classes not in 'O', and 'R' does not seem to be general enough for use by other ontologies, 'R' MAY be kept in 'O';
33+
- If 'R' seems generally usable (that is, could potentially be used by ontologies other than 'O'), the relation SHOULD be submitted to RO;
34+
- For any 'R' not submitted to RO, if a suitable RO parent ('P') exists, then 'R' MUST be declared a sub-property of 'P';
35+
- An effort to specify a domain and range for 'R' SHOULD be made, though caution is advised to ensure that each is neither too broad nor too specific.
36+
37+
While it is never a bad idea to submit a new relation to RO, if there are any doubts about how to proceed based on the above, a discussion with RO developers SHOULD be made via the [RO issue tracker](https://github.com/oborel/obo-relations/issues) or the [OBO Community Slack](https://obo-communitygroup.slack.com) using the #relation-ontology channel.
38+
39+
Note regarding property chains: If a proposed property chain makes use of relations that are themselves in RO, the property chain SHOULD be submitted to RO.
3240

3341
## Examples
3442

3543
## Counter-Examples
3644

37-
<Category:Principles> <Category:Accepted> <Category:Definitions>
45+
## Criteria for Review
46+
47+
Each relation in the ontology that does not use an RO IRI will be checked to see if there is an exact label match in RO. If so, this will be flagged as an ERROR. Any other non-RO properties will be flagged with an INFO message.
48+
49+
[This check is automatically validated.](checks/fp_007)
50+
51+
## Feedback and Discussion
52+
53+
To suggest revisions or begin a discussion pertaining to this principle, please [create an issue on GitHub](https://github.com/OBOFoundry/OBOFoundry.github.io/issues/new?labels=attn%3A+Editorial+WG,principles&title=Principle+%237+%22Relations%22+%3CENTER+ISSUE+TITLE%3E).
54+
55+
To suggest revisions or begin a discussion pertaining to the automated validation of this principle, please [create an issue on GitHub](https://github.com/OBOFoundry/OBOFoundry.github.io/issues/new?labels=attn%3A+Technical+WG,automated+validation+of+principles&title=Principle+%237+%22Relations%22+-+automated+validation+%3CENTER+ISSUE+TITLE%3E).

0 commit comments

Comments
 (0)