You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* 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
Copy file name to clipboardExpand all lines: principles/fp-007-relations.md
+30-12Lines changed: 30 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,35 +3,53 @@ layout: principle
3
3
id: fp-007-relations
4
4
title: Relations (principle 7)
5
5
---
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)
10
7
11
8
## Summary
12
9
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).
16
11
17
12
## Purpose
18
13
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).
20
15
21
16
## Recommendations and Requirements
22
17
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
25
20
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
26
21
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
27
22
submitted to the [RO tracker](https://github.com/oborel/obo-relations/issues).
28
23
29
24
## Implementation
30
25
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.
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