# Difference between revisions of "OBO: 1.3 Whiteboard"

From GO Wiki

(This page is intended to be a scratch pad for OBO 1.3 features and proposals.) |
(→Changes to Relations) |
||

Line 7: | Line 7: | ||

# always_implies_inverse | # always_implies_inverse | ||

− | + | '''transitive_under''' means that '''p -transitive_under-> q''' and '''X -q-> Y''' and '''Y -p-> Z''', then '''X -p-> Y'''. Note that every relation is automatically transitive_over and transitive_under IS_A | |

+ | '''always_implies_inverse''' is a boolean property. If always_implies_inverse is true for a relation '''p''', it means that if '''p -inverse_of-> q''' and '''X -p-> Y''', then '''Y -q-> X'''. This property could be used to define an '''integral_part_of''' relationship in OBO_REL, for example: | ||

+ | |||

+ | <pre> | ||

+ | [Typedef] | ||

+ | id: OBO_REL:part_of | ||

+ | name: part of | ||

+ | inverse_of: has_part | ||

+ | |||

+ | [Typedef] | ||

+ | id: OBO_REL:has_part | ||

+ | name: has part | ||

+ | |||

+ | [Typedef] | ||

+ | id: OBO_REL:integral_part_of | ||

+ | is_a: OBO_REL:part_of | ||

+ | always_implies_inverse: true | ||

+ | </pre> | ||

== General Specification Changes == | == General Specification Changes == | ||

=== Extensions === | === Extensions === |

## Revision as of 10:32, 3 October 2007

This page is intended to be a scratch pad for OBO 1.3 features and proposals.

## Changes to Relations

The following new Typedef tags should be supported in OBO 1.3...

- transitive_under
- always_implies_inverse

**transitive_under** means that **p -transitive_under-> q** and **X -q-> Y** and **Y -p-> Z**, then **X -p-> Y**. Note that every relation is automatically transitive_over and transitive_under IS_A

**always_implies_inverse** is a boolean property. If always_implies_inverse is true for a relation **p**, it means that if **p -inverse_of-> q** and **X -p-> Y**, then **Y -q-> X**. This property could be used to define an **integral_part_of** relationship in OBO_REL, for example:

[Typedef] id: OBO_REL:part_of name: part of inverse_of: has_part [Typedef] id: OBO_REL:has_part name: has part [Typedef] id: OBO_REL:integral_part_of is_a: OBO_REL:part_of always_implies_inverse: true