Basic Formal Ontology (BFO)

The Basic Formal Ontology (BFO) is a small, domain-neutral upper ontology designed to provide a common framework for organizing entities represented in scientific and technical domain ontologies [1] [2]. BFO distinguishes fundamentally between continuants, which persist through time while maintaining their identity, and occurrents, which unfold or occur through time, such as processes and events [1]. Within the continuant branch, BFO further provides categories for material entities, including objects, object aggregates, and fiat object parts, supporting consistent classification of physical entities across different application domains [2]. By supplying a shared upper-level structure, BFO supports the development and integration of domain ontologies and promotes consistent representation of scientific knowledge [1] [2].

Example Usage: Use BFO as the upper ontology for a biomedical ontology by classifying a cell as a material entity and continuant, while representing cell division as a process and therefore an occurrent. Such upper-level distinctions provide a common ontological structure for integrating concepts defined in different biomedical domain ontologies [1] [2]. Metrics & Statistics ————————–

Graph Statistics

Total Nodes

538

Total Edges

1002

Root Nodes

16

Leaf Nodes

276

Knowledge Coverage Statistics

Classes

84

Individuals

0

Properties

40

Hierarchical Metrics

Maximum Depth

13

Minimum Depth

0

Average Depth

4.21

Depth Variance

6.56

Breadth Metrics

Maximum Breadth

54

Minimum Breadth

1

Average Breadth

19.79

Breadth Variance

293.74

LLMs4OL Dataset Statistics

Term Types

0

Taxonomic Relations

66

Non-taxonomic Relations

5

Average Terms per Type

0.00

Usage Example

Use the following code to import this ontology programmatically:

from ontolearner.ontology import BFO

ontology = BFO()
ontology.load("path/to/BFO-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