RO - OBO Relation Ontology
The main RO page is located on sourceforge: 
You can browse the ontology and get e-mail list details there.
There's an RO expert meeting happening in May, 2008. See OntologyRelations
Three types of relations
The OBO Relation Ontology (aka the OBO Relationship Types Ontology) distinguished three families of relations, according to whether they hold between instances, types, or combinations thereof, for example:
- 1. instance_of holding between an instance and a type
- 2. part_of holding between an instance and an instance
- 3. part_of holding between a type and a type
We use bold face to mark out those relational expressions used in ontologies such as GO to represent the relations between the types these ontologies represent.
In the original Genome Biology paper we focused primarily on defining relations of type 3. in terms of those of types 1. and 2. This was to meet the need among biologists for clear guidance as to what the relational expressions used in ontologies such as GO precisely mean.
In our treatment of relations of types 1. and 2. we focused primarily on picking out certain instance level relations which we fixed on as primitive -- meaning that they are so basic to the relational architecture of reality that they cannot be defined in terms of anything more basic. The primitive relations selected were as follows:
- c instance_of C at t - a primitive relation between a continuant instance and a class which it instantiates at a specific time
- p instance_of P - a primitive relation between a process instance and a class which it instantiates holding independently of time
- c part_of c1 at t - a primitive relation between two continuant instances and a time at which the one is part of the other
- p part_of p1, r part_of r1 - a primitive relation of parthood, holding independently of time, either between process instances (one a subprocess of the other), or between spatial regions (one a subregion of the other)
- c located_in r at t - a primitive relation between a continuant instance, a spatial region which it occupies, and a time
- r adjacent_to r1 - a primitive relation of proximity between two continuants
- t earlier t1 - a primitive relation between two times
- c derives_from c1 - a primitive relation involving two distinct material continuants c and c1
- p has_participant c at t - a primitive relation between a process, a continuant, and a time
- p has_agent c at t - a primitive relation between a process, a continuant and a time at which the continuant is causally active in the process
In proposing new relations (both on the wiki and in the http://sourceforge.net/tracker/?group_id=76834&atid=947684&func=browse Sourceforge Tracker], please specify to which of the three types your proposed relation belongs.
If it is an instance-level relation please answer the following questions:
- a. is it already on the list above?
- b. is it primitive in the above-mentioned sense?
- If the answer to both of these questions is no,
- c. can it be defined in terms of the relations on the above list?
- If yes, please supply a definition (an example is provided below)
- If no, please propose also those primitive instance-level relations which would need to be added to the RO in order to define it.
How to Define an Instance-Level Relation
All definitions specify necessary and sufficient conditions. Thus if we are defining what it is to be an A, then the definition might read, for example:
x is an A =def. x has features F1, F2, F3.
This definition would be correct if and only if everything which has features F1, F2, and F3 is an A, and everything with an A has features F1, F2, and F3.
For instance-level relations, the definition might read as follows:
x stands in instance-level relation r to y =def. x has features F1, F2, y has features F3, F4, x stands in instance-level relations r1, r2 to y.
For a specific example consider preceded_by, a relation between occurrents (drawn from the RO paper).
With the primitive relations has_participant and earlier at our disposal we first define the instance-level relation p occurring_at t as follows:
p occurring_at t =def. for some c, p has_participant c at t.
We can then define:
c exists_at t =def. for some p, p has_participant c at t
p preceded_by p1 =def. for all t, t1, if p occurring_at t and p1 occurring_at t1, then t1 earlier t
- t first_instant p =def.
- p occurring_at t, and
- for all t1, if t1 earlier t, then not p occurring_at t1
- t last_instant p =def.
- p occurring_at t and
- for all t1, if t earlier t1, then not p occurring_at t1
- p immediately_preceded_by p1 =def.
- for some t, t first_instant p and
- t last_instant p1.
In these terms we can also define the instance-level relation has_duration proposed by Liju:
- p has_duration y =def.
- p is an occurrent, and
- for some t1, t1 first_instant p, and
- for some t2, t2 last_instant p, and
- for all t, t1 earlier t and t earlier t2 implies p occurring_at t [this to ensure that p is continuous; has no gaps],
- y is the interval (t1,t2).
Here a new functional operator 'the interval ( , )' has been introduced, which generates the name of an interval from a pair of names for times.
Proposed new type-level relations
relations between generically dependent continuants and specifically dependent continuants:
The lacks family of relations is discussed at: 
The treatment of the derives_from relation has been criticised from an ontological point of view: . Transformation_of is always, by definition a 1-1 relation. The thesis in the original RO paper was (A) that the derives_from relation could be n-1 or 1-n (for n > 1) but also (B) that there are examples of 1-1 derives from relations (e.g. the relation between a living organism and a corpse). This thesis (B) has now been dropped. The relation between a corpse and the predecessor organism is one of transformation.
There is also the terminological problem that "derives_from" is used specifically for evolutionary relationships by some. We will report back on this after the september NCBO anatomy meeting. We may create a "develops_from" parent for transformation_of corresponding to how that relation is currently used in MOD AOs
The relation of overlaps
X overlaps Y =def. for every t and every x, if x instance_of X at t, then there is some instance y of Y at t such that (x overlaps y at t)
x overlaps y at t =def there is some z such that z is part_of x at t and z part_of y at t
Note that it can be the case that X overlaps Y as thus defined, even though Y does not overlap X.
Thus uterine tracts overlaps urinogenital sysem but not uriongenital system OVERLAPS uterine tract (because of male urinogenital systems)
Hunter/Bada Proposal for new relations
We propose the addition of nine new relationships (and nine additional inverse relationships) to the RO. The relationship are defined and linked to the existing relationships at .
Perhaps the most basic of these is intended to capture the idea of a process leading to a change in a continuant: <process> results_in_change_in <continuant> (see the above linked OBO file for formal definitions). We also propose two more specific versions of this when the continuant is either the thing changed (results_in_change_from) or the thing that results from the change (results_in_change_to).
In addition, we propose well over 1000 assertions using these relationships among terms from the GO, ChEBI and CL ontologies. In a first draft, we've identified 30 assertions in which <GO Biological Process> results_in_change_in <ChEBI term>, 13 assertions in which <GO:BP> results_in_change_in <GO:CC> and 41 assertions in which <GO:BP> results_in_change_in <CL term>. The more specific relationships are actually more prevalent: We've identified an initial 641 assertions in which <GO:BP> results_in_change_to <ChEBI term>.
The other relationships we propose are:
Definitions of each and positions in the RO hierarchy are in the OBO file.
We've posted a message with the subject "Hunter/Bada Proposal for New Relations" on the relationship-ontology mailing list describing our rationales for these in more detail.
The standard GO obo->owl conversion is used. See OboInOwl:Main_Page for details
obo1.2 defines "builtin" tags for relations that are hardwired into the obo semantics - is_a and instance_of are tagged builtin. These are not exported in OWL, as these are also part of the OWL language