General Formal Ontology (GFO)

The General Formal Ontology (GFO) is a top-level foundational ontology developed for conceptual modeling across scientific, technical, and philosophical domains [1] [2]. GFO provides a rigorous framework for representing fundamental categories such as objects, processes, time, space, properties, relations, roles, functions, facts, and situations [1]. It is designed to support the integration of material, mental, and social entities by incorporating the notion of levels of reality, enabling nuanced modeling of complex systems [2]. GFO is modular and extensible, allowing domain ontologies to build upon its core categories for specialized applications [1] [2]. The ontology is used in knowledge engineering, biomedical informatics, cognitive science, and information systems to support semantic interoperability and logical consistency [2]. GFO is maintained as an ontology resource through the Onto-Med GitHub repository and continues to support conceptual modeling and ontology integration work [1].

Example Usage: Use GFO as the upper ontology for a biomedical ontology, classifying entities such as disease as a situation, patient as an object, and treatment process as a process, enabling semantic integration and reasoning across clinical and research data [1] [2].

Metrics & Statistics

Graph Statistics

Total Nodes

296

Total Edges

708

Root Nodes

42

Leaf Nodes

71

Knowledge Coverage Statistics

Classes

94

Individuals

1

Properties

67

Hierarchical Metrics

Maximum Depth

12

Minimum Depth

0

Average Depth

1.94

Depth Variance

3.22

Breadth Metrics

Maximum Breadth

88

Minimum Breadth

1

Average Breadth

21.23

Breadth Variance

874.02

LLMs4OL Dataset Statistics

Term Types

1

Taxonomic Relations

143

Non-taxonomic Relations

34

Average Terms per Type

1.00

Usage Example

Use the following code to import this ontology programmatically:

from ontolearner.ontology import GFO

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