This ontology contains logical relations to be shared across the different OBO ontologies. Each OBO ontology is free to extend this set with relations specific to the biology within that ontology

In the definitions, variables c, d, ..., p, q, ... range over instances of continuants and processes respectively. C, D, ..., P, Q, ... range over the corresponding classes

For a discussion of instance-level relations and also of additional axioms needed to infer transitivity and other properties of the relations listed above see http://genomebiology.com/2005/6/5/R46 or the OBO relations page hosted at http://obo.sourceforge.net/relationship

remark: cvs version $Revision: 1.1 $
remark: release version 1.01
[Typedef]
id: OBO_REL:is_a
alt_id: OBO_REL:0000001
name: is_a
builtin: true
def: "For continuants: C is_a C' if and only if: given any c that instantiates C at a time t, c instantiates C' at t. For processes: P is_a P' if and only if: that given any p that instantiates P, then p instantiates P'." [PMID:15892874]
comment: The is_a relationship is considered axiomatic by the obo file format specification. In the representation of obo in OWL, where obo terms are represented as OWL classes, is_a is mapped on to the subClassOf axiom
exact_synonym: "is_subtype_of" []
xref: owl:subClassOf
is_reflexive: true
is_anti_symmetric: true
is_transitive: true
[Typedef]
id: OBO_REL:part_of
alt_id: OBO_REL:0000002
name: part_of
def: "For continuants: C part_of C' if and only if: given any c that instantiates C at a time t, there is some c' such that c' instantiates C' at time t, and c *part_of* c' at t. For processes: P part_of P' if and only if: given any p that instantiates P at a time t, there is some p' such that p' instantiates P' at time t, and p *part_of* p' at t. (Here *part_of* is the instance-level part-relation.)" [PMID:15892874]
comment: Parthood as a relation between instances: The primitive instance-level relation p part_of p1 is illustrated in assertions such as: this instance of rhodopsin mediated phototransduction part_of this instance of visual perception. This relation satisfies at least the following standard axioms of mereology: reflexivity (for all p, p part_of p); anti-symmetry (for all p, p1, if p part_of p1 and p1 part_of p then p and p1 are identical); and transitivity (for all p, p1, p2, if p part_of p1 and p1 part_of p2, then p part_of p2). Analogous axioms hold also for parthood as a relation between spatial regions. For parthood as a relation between continuants, these axioms need to be modified to take account of the incorporation of a temporal argument. Thus for example the axiom of transitivity for continuants will assert that if c part_of c1 at t and c1 part_of c2 at t, then also c part_of c2 at t. Parthood as a relation between classes: To define part_of as a relation between classes we again need to distinguish the two cases of continuants and processes, even though the explicit reference to instants of time now falls away. For continuants, we have C part_of C1 if and only if any instance of C at any time is an instance-level part of some instance of C1 at that time, as for example in: cell nucleus part_ of cell.
inverse_of: OBO_REL:has_part
is_reflexive: true
is_anti_symmetric: true
is_transitive: true
[Typedef]
id: OBO_REL:has_part
alt_id: OBO_REL:0000003
name: has_part
inverse_of: OBO_REL:part_of
is_reflexive: true
is_anti_symmetric: true
is_transitive: true
[Typedef]
id: OBO_REL:integral_part_of
alt_id: OBO_REL:0000004
name: integral_part_of
is_a: OBO_REL:part_of
def: "C integral_part_of C' if and only if: C part_of C' AND C' has_part C" [PMID:15892874]
!TODO: make this class-level
!inverse_of: OBO_REL:has_integral_part
is_reflexive: true
is_anti_symmetric: true
is_transitive: true
[Typedef]
id: OBO_REL:has_integral_part
alt_id: OBO_REL:0000005
name: has_integral_part
is_a: OBO_REL:has_part
!TODO: make this class-level
!inverse_of: OBO_REL:integral_part_of
is_reflexive: true
is_anti_symmetric: true
is_transitive: true
[Typedef]
id: OBO_REL:proper_part_of
alt_id: OBO_REL:0000006
name: proper_part_of
is_a: OBO_REL:part_of
def: "As for part_of, with the additional constraint that subject and object are distinct" [PMID:15892874]
inverse_of: OBO_REL:has_proper_part
is_transitive: true
[Typedef]
id: OBO_REL:has_proper_part
alt_id: OBO_REL:0000007
name: has_proper_part
is_a: OBO_REL:has_part
inverse_of: OBO_REL:proper_part_of
is_transitive: true
[Typedef]
id: OBO_REL:located_in
alt_id: OBO_REL:0000008
name: located_in
def: "C located_in C' if and only if: given any c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c *located_in* c'. (Here *located_in* is the instance-level location relation.)" [PMID:15892874]
comment: Location as a relation between instances: The primitive instance-level relation c located_in r at t reflects the fact that each continuant is at any given time associated with exactly one spatial region, namely its exact location. Following we can use this relation to define a further instance-level location relation - not between a continuant and the region which it exactly occupies, but rather between one continuant and another. c is located in c1, in this sense, whenever the spatial region occupied by c is part_of the spatial region occupied by c1. Note that this relation comprehends both the relation of exact location between one continuant and another which obtains when r and r1 are identical (for example, when a portion of fluid exactly fills a cavity), as well as those sorts of inexact location relations which obtain, for example, between brain and head or between ovum and uterus
inverse_of: OBO_REL:location_of
is_transitive: true
is_reflexive: true
[Typedef]
id: OBO_REL:location_of
alt_id: OBO_REL:0000009
name: location_of
inverse_of: OBO_REL:located_in
is_transitive: true
is_reflexive: true
[Typedef]
id: OBO_REL:contained_in
alt_id: OBO_REL:0000010
name: contained_in
inverse_of: OBO_REL:contains
def: "C contained_in C' if and only if: given any instance c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c located_in c' at t, and it is not the case that c *overlaps* c' at t. (c' is a conduit or cavity.)" [PMID:15892874]
comment: Containment obtains in each case between material and immaterial continuants, for instance: lung contained_in thoracic cavity; bladder contained_in pelvic cavity. Hence containment is not a transitive relation. If c part_of c1 at t then we have also, by our definition and by the axioms of mereology applied to spatial regions, c located_in c1 at t. Thus, many examples of instance-level location relations for continuants are in fact cases of instance-level parthood. For material continuants location and parthood coincide. Containment is location not involving parthood, and arises only where some immaterial continuant is involved. To understand this relation, we first define overlap for continuants as follows: c1 overlap c2 at t =def for some c, c part_of c1 at t and c part_of c2 at t. The containment relation on the instance level can then be defined (see definition):
[Typedef]
id: OBO_REL:contains
alt_id: OBO_REL:0000011
name: contains
inverse_of: OBO_REL:contained_in
[Typedef]
id: OBO_REL:adjacent_to
alt_id: OBO_REL:0000012
name: adjacent_to
def: "C adjacent to C' if and only if: given any instance c that instantiates C at a time t, there is some c' such that: c' instantiates C' at time t and c and c' are in spatial proximity" [PMID:15892874]
comment: Note that adjacent_to as thus defined is not a symmetric relation, in contrast to its instance-level counterpart. For it can be the case that Cs are in general such as to be adjacent to instances of C1 while no analogous statement holds for C1s in general in relation to instances of C. Examples are: nuclear membrane adjacent_to cytoplasm; seminal vesicle adjacent_to urinary bladder; ovary adjacent_to parietal pelvic peritoneum
instance_level_is_transitive: true
[Typedef]
id: OBO_REL:transformation_of
alt_id: OBO_REL:0000013
name: transformation_of
def: "Relation between two classes, in which instances retain their identity yet change their classification by virtue of some kind of transformation. Formally: C transformation_of C' if and only if given any c and any t, if c instantiates C at time t, then for some t', c instantiates C' at t' and t' earlier t, and there is no t2 such that c instantiates C at t2 and c instantiates C' at t2." [PMID:15892874]
comment: When an embryonic oenocyte (a type of insect cell) is transformed into a larval oenocyte, one and the same continuant entity preserves its identity while instantiating distinct classes at distinct times. The class-level relation transformation_of obtains between continuant classes C and C1 wherever each instance of the class C is such as to have existed at some earlier time as an instance of the distinct class C1 (see Figure 2 in paper). This relation is illustrated first of all at the molecular level of granularity by the relation between mature RNA and the pre-RNA from which it is processed, or between (UV-induced) thymine-dimer and thymine dinucleotide. At coarser levels of granularity it is illustrated by the transformations involved in the creation of red blood cells, for example, from reticulocyte to erythrocyte, and by processes of development, for example, from larva to pupa, or from (post-gastrular) embryo to fetus or from child to adult. It is also manifest in pathological transformations, for example, of normal colon into carcinomatous colon. In each such case, one and the same continuant entity instantiates distinct classes at different times in virtue of phenotypic changes.
is_a: OBO_REL:develops_from
is_transitive: true
[Typedef]
id: OBO_REL:transformed_into
alt_id: OBO_REL:0000014
name: transformed_into
comment: Obsoleted
is_obsolete: true
[Typedef]
id: OBO_REL:derives_from
alt_id: OBO_REL:0000015
name: derives_from
def: "Derivation on the instance level (*derives_from*) holds between distinct material continuants when one succeeds the other across a temporal divide in such a way that at least a biologically significant portion of the matter of the earlier continuant is inherited by the later. We say that one class C derives_from class C' if instances of C are connected to instances of C' via some chain of instance-level derivation relations. Example: osteocyte derives_from osteoblast. Formally: C derives_immediately_from C' if and only if: given any c and any t, if c instantiates C at time t, then there is some c' and some t', such that c' instantiates C' at t' and t' earlier-than t and c *derives_from* c'. C derives_from C' if and only if: there is an chain of immediate derivation relations connecting C to C'." [PMID:15892874]
comment: Derivation as a relation between instances. The temporal relation of derivation is more complex. Transformation, on the instance level, is just the relation of identity: each adult is identical to some child existing at some earlier time. Derivation on the instance-level is a relation holding between non-identicals. More precisely, it holds between distinct material continuants when one succeeds the other across a temporal divide in such a way that at least a biologically significant portion of the matter of the earlier continuant is inherited by the later. Thus we will have axioms to the effect that from c derives_from c1 we can infer that c and c1 are not identical and that there is some instant of time t such that c1 exists only prior to and c only subsequent to t. We will also be able to infer that the spatial region occupied by c as it begins to exist at t overlaps with the spatial region occupied by c1 as it ceases to exist in the same instant.
exact_synonym: "derived_from" []
inverse_of: OBO_REL:derived_into
is_a: OBO_REL:develops_from
is_transitive: true
[Typedef]
id: OBO_REL:derived_into
alt_id: OBO_REL:0000016
name: derived_into
inverse_of: OBO_REL:derives_from
is_transitive: true
[Typedef]
id: OBO_REL:preceded_by
alt_id: OBO_REL:0000017
name: preceded_by
def: "P preceded_by P' if and only if: given any process p that instantiates P at a time t, there is some process p' such that p' instantiates P' at time t', and t' is earlier than t. " [PMID:15892874]
comment: An example is: translation preceded_by transcription; aging preceded_by development (not however death preceded_by aging). Where derives_from links classes of continuants, preceded_by links classes of processes. Clearly, however, these two relations are not independent of each other. Thus if cells of type C1 derive_from cells of type C, then any cell division involving an instance of C1 in a given lineage is preceded_by cellular processes involving an instance of C. The assertion P preceded_by P1 tells us something about Ps in general: that is, it tells us something about what happened earlier, given what we know about what happened later. Thus it does not provide information pointing in the opposite direction, concerning instances of P1 in general; that is, that each is such as to be succeeded by some instance of P. Note that an assertion to the effect that P preceded_by P1 is rather weak; it tells us little about the relations between the underlying instances in virtue of which the preceded_by relation obtains. Typically we will be interested in stronger relations, for example in the relation immediately_preceded_by, or in relations which combine preceded_by with a condition to the effect that the corresponding instances of P and P1 share participants, or that their participants are connected by relations of derivation, or (as a first step along the road to a treatment of causality) that the one process in some way affects (for example, initiates or regulates) the other.
inverse_of: OBO_REL:precedes
is_transitive: true
[Typedef]
id: OBO_REL:precedes
alt_id: OBO_REL:0000018
name: precedes
inverse_of: OBO_REL:preceded_by
is_transitive: true
[Typedef]
id: OBO_REL:has_participant
alt_id: OBO_REL:0000019
name: has_participant
def: "P has_participant C if and only if: given any process p that instantiates P there is some continuant c, and some time t, such that: c instantiates C at t and c participates in p at t" [PMID:15892874]
comment: Has_participant is a primitive instance-level relation between a process, a continuant, and a time at which the continuant participates in some way in the process. The relation obtains, for example, when this particular process of oxygen exchange across this particular alveolar membrane has_participant this particular sample of hemoglobin at this particular time.
inverse_of: OBO_REL:participates_in
[Typedef]
id: OBO_REL:participates_in
alt_id: OBO_REL:0000020
name: participates_in
inverse_of: OBO_REL:has_participant
[Typedef]
id: OBO_REL:has_agent
alt_id: OBO_REL:0000021
name: has_agent
is_a: OBO_REL:has_participant
def: "As for has_participant, but with the additional condition that the component instance is causally active in the relevant process" [PMID:15892874]
inverse_of: OBO_REL:agent_in
[Typedef]
id: OBO_REL:agent_in
alt_id: OBO_REL:0000022
name: agent_in
is_a: OBO_REL:participates_in
inverse_of: OBO_REL:has_agent
[Typedef]
id: OBO_REL:instance_of
alt_id: OBO_REL:0000023
name: instance_of
builtin: true
def: "A relation between an instance and a class. For components: a primitive relation between a component instance and a class which it instantiates at a specific time. For processes: a primitive relation, between a process instance and a class which it instantiates, holding independently of time" [PMID:15892874]
comment: The instance_of relationship is considered axiomatic by the obo file format specification; ie it is taken for granted. The is_a relation is still included in this ontology for completeness
[Typedef]
id: OBO_REL:has_improper_part
alt_id: OBO_REL:0000024
name: has_improper_part
comment: OBSOLETE: See reasons for obsoletion of improper_part_of
is_reflexive: true
is_transitive: true
is_obsolete: true
[Typedef]
id: OBO_REL:improper_part_of
alt_id: OBO_REL:0000025
name: improper_part_of
is_a: OBO_REL:part_of
def: "As for part_of, with the additional constraint that subject and object may be identical" [PMID:15892874]
comment: OBSOLETE. The definition is "As for part_of, with the additional constraint that subject and object may be identical". However, part_of is already reflexive, therefore improper_part_of is identical to part_of. If read differently, as "improper_part_of is part_of but not proper_part_of",improper_part_of becomes identity. So, improper_part_of is either identical to part_of or to identity, and not an intuitive synonym for either of them. [Robert Hoehndorf]
inverse_of: OBO_REL:has_improper_part
is_reflexive: true
is_transitive: true
is_obsolete: true
[Typedef]
id: OBO_REL:inheres_in
alt_id: OBO_REL:0000026
name: inheres_in
synonym: "has_bearer" EXACT []
def: "A relation between a dependent continuant D and an entity E. D inheres_in E iff: given any d that instantiates D at t, there exists some e that instantiates E at t and d *inheres_in* e at t. Here *inheres_in* is the primitive instance level relation." [GOC:cjm]
is_functional: true
comment: This relation links qualities, functions, dispositions and other dependent continuants to their bearers. Examples: A particular shape that inheres in a lung; The redness that ineres in a Drosophila eye; Catalytic activity function inheres_in catalytic molecule. Note that inherence is a functional relation: if x inheres_in y at t and x inheres_in z at t, then y=z. We leave open the possibility of a relation multiply_inheres_in, such as between a gene sequence and the multiple chromosomes it multiply inheres in. The super-relation of both inheres_in and multiply_inheres_in would be depends_on
inverse_of: OBO_REL:bearer_of
priority: 1-01
discussion: change to specifically_inheres_in
discussion: name of inverse relation?
discussion: can dependent continuants inhere in occurrents?
discussion: is inherence a functional relation? Do we need to distinguish between specific inherence (functional) and generic/multiple inherence (non-functional)
!domain: snap:DependentContinuant
[Typedef]
id: OBO_REL:bearer_of
alt_id: OBO_REL:0000027
name: bearer_of
synonym: "has_inherent" EXACT []
synonym: "has_inherer" EXACT []
def: "A relation between an entity and a dependent continuant; the reciprocal relation of inheres_in" [GOC:cjm]
comment: Examples: red eye bearer_of redness
inverse_of: OBO_REL:inheres_in
!range: snap:DependentContinuant
[Typedef]
id: OBO_REL:quality_of
alt_id: OBO_REL:0000028
name: quality_of
synonym: "is_quality_of" EXACT []
def: "A relation between a quality Q and an entity E. Q quality_of E iff: Q inheres_in E and Q is a quality" [GOC:cjm]
is_a: OBO_REL:inheres_in
inverse_of: OBO_REL:has_quality
priority: 1-01
!domain: snap:Quality
[Typedef]
id: OBO_REL:has_quality
alt_id: OBO_REL:0000029
name: has_quality
def: "A relation between an entity and a quality. For types: E has_quality Q iff: for any eEt, exists qQt such that q inheres_in e at t. For instances: e has_quality q at t iff q inheres_in e at t and q instance-of Quality" [GOC:cjm]
is_a: OBO_REL:bearer_of
discussion: can occurrents have qualities?
inverse_of: OBO_REL:quality_of
priority: 1-01
!range: snap:DependentContinuant
[Typedef]
id: OBO_REL:function_of
alt_id: OBO_REL:0000030
name: function_of
def: "A relation between a function F and an entity E. F function_of E iff: Q inheres_in E and Q is a function" [GOC:cjm]
is_a: OBO_REL:inheres_in
comment: Example: 'to blood pump' function_of 'heart'
inverse_of: OBO_REL:has_function
!domain: snap:Function
[Typedef]
id: OBO_REL:has_function
alt_id: OBO_REL:0000031
name: has_function
def: "Relation between an independent continuant and a function." [GOC:cjm]
is_a: OBO_REL:bearer_of
comment: heart has_function to-pump-blood
inverse_of: OBO_REL:function_of
[Typedef]
id: OBO_REL:role_of
alt_id: OBO_REL:0000032
name: role_of
def: "A relation between a role R and an entity E. R role_of E iff: R inheres_in E and R is a role" [GOC:cjm]
is_a: OBO_REL:inheres_in
comment: Example: 'to blood pump' function_of 'heart'
inverse_of: OBO_REL:has_function
!domain: snap:Function
[Typedef]
id: OBO_REL:has_role
alt_id: OBO_REL:0000033
name: has_role
def: "A relation between a continuant C and a role R. The reciprocal relation of role_of." [GOC:cjm]
is_a: OBO_REL:bearer_of
[Typedef]
id: OBO_REL:realizes
alt_id: OBO_REL:0000034
name: realizes
def: "Relation between a process and a function, where the unfolding of the process requires the execution of the function. Class level: P realizes F iff: given any p that instantiates P, there exists some f, t such that f instantiates F at t and p *realizes* f. Here, *realizes* is the primitive instance level relation" [GOC:cjm]
synonym: "executes" RELATED []
synonym: "is_realization_of" EXACT []
synonym: "has_function_part" EXACT []
inverse_of: OBO_REL:realized_by
comment: The process of 'histidine catabolism' (GO:0006548) realizes the function 'histidine ammonia lyase activity' (GO:0004397) (note: here 'activity' denotes a function and not a process). We leave open the possibility of defining in future the sub-relations directly_realizes (as bewteen a function and it's functioning) and indirectly_realizes
priority: 1-01
[Typedef]
id: OBO_REL:realized_by
alt_id: OBO_REL:0000035
name: realized_by
def: "Relation between a function and a process. Reciprocal relation of realizes" [GOC:cjm]
synonym: "executed_during" RELATED []
synonym: "has_realization" EXACT []
inverse_of: OBO_REL:realizes
priority: 1-01
[Typedef]
id: OBO_REL:towards
alt_id: OBO_REL:0000036
name: towards
def: "A relation between a relational quality and an entity type. Q towards E iff: for any qQt, q towards E at t. " [GOC:cjm]
synonym: "with respect to" RELATED []
synonym: "directed to" RELATED []
synonym: "to" RELATED []
synonym: "depends_on" RELATED []
status: in-use
discussion: does this belong in an application ontology? In logical frameworks that support n-ary relations, this is an extra argument on the inherence relation (see Neuhaus paper, SQU). For frameworks with binary relations we need a way to indicate a linkage between the relational quality and the entity type it is directed 'towards'
comment: Examples: sensitivity towards chlorine; the PATO:concentration of a liquid with respect to some chemical entity type
!domain: snap:DependentContinuant
[Typedef]
id: OBO_REL:develops_from
alt_id: OBO_REL:0000038
name: develops_from
def: "A relation between two continuants, C and D. C develops_from D if C derived_from D or C transformation_of D. On the class level: C develops from D if and only if, for any x and any time t, the following holds: if x instantiates C at time t, then 1. either for some time t1, x instantiates D at t1 and t1 precedes t, and there is no time interval t2 such that x instantiates C at t2 and x instantiates D at t2 ; 2. or for some time t1 , there is some y such that y instantiates D at t1 and x derived_from y. On the instance level: x develops_from y is indistinguishable from x derives_from y" [GOC:cjm]
comment: Examples: eye develops_from eye disc; erythrocyte develops_from reticulocyte. Note that ontologies should use either derives_from or transformation_of where appropriate, but the develops_from relation can be used where one does not want to differentiate between these 2 cases
is_transitive: true
[Typedef]
id: OBO_REL:relationship
name: relationship
def: "A relationship between two classes (terms). Relationships between classes are expressed in terms of relations on underlying instances." [GOC:cjm]
is_obsolete: true
comment: this relation was superfluous, so it has been obsoleted