Relation Ontology (RO)

The Relation Ontology (RO) is an ontology of formally defined relations used to standardize how relationships are represented across biological and biomedical ontologies [1]. Rather than modeling a complete biological domain by itself, RO provides reusable relation terms such as part of, has part, develops from, derives from, has participant, and precedes [1].

RO is designed to make relational statements in ontologies more precise, consistent, and logically interpretable [1]. These relations help ontology developers represent spatial, temporal, developmental, causal, and participatory connections between entities in a standardized way [1].

The ontology is widely used within the OBO ontology ecosystem as a shared relation vocabulary for biological and biomedical ontologies [1]. By reusing RO relations, ontologies in domains such as anatomy, genomics, development, disease, and biological processes can remain interoperable and support automated reasoning across datasets and knowledge graphs [1].

Example Usage: Define relationships in a biological ontology, such as a protein being part of a protein complex, an anatomical structure developing from another structure, or a biological process having a participant. Using RO relations makes these statements consistent across different ontologies and supports reasoning over biological knowledge [1].

Metrics & Statistics

Graph Statistics

Total Nodes

4635

Total Edges

10477

Root Nodes

381

Leaf Nodes

2650

Knowledge Coverage Statistics

Classes

88

Individuals

2

Properties

673

Hierarchical Metrics

Maximum Depth

13

Minimum Depth

0

Average Depth

1.90

Depth Variance

2.53

Breadth Metrics

Maximum Breadth

870

Minimum Breadth

1

Average Breadth

181.93

Breadth Variance

70257.92

LLMs4OL Dataset Statistics

Term Types

2

Taxonomic Relations

65

Non-taxonomic Relations

10

Average Terms per Type

2.00

Usage Example

Use the following code to import this ontology programmatically:

from ontolearner.ontology import RO

ontology = RO()
ontology.load("path/to/RO-ontology.owl")

# Extract datasets
data = ontology.extract()

# Access specific relations
term_types = data.term_typings
taxonomic_relations = data.type_taxonomies
non_taxonomic_relations = data.type_non_taxonomic_relations

References