Suggested Upper Merged Ontology (SUMO)¶
The Suggested Upper Merged Ontology (SUMO) is one of the largest and most widely used formal upper ontologies, providing a comprehensive framework for representing general concepts and relationships across many domains of knowledge [1] [2]. SUMO and its domain ontologies are used for research and applications in search, linguistics, automated reasoning, semantic interoperability, and artificial intelligence [2]. The ontology covers abstract and concrete entities, processes, attributes, relations, and events, supporting logical inference and knowledge discovery [1] [2]. SUMO is open source and maintained through the Ontology Portal project, with ongoing extensions and domain-specific modules for specialized applications [1]. By providing a rigorous semantic foundation, SUMO facilitates interoperability, data integration, and advanced reasoning in knowledge-based systems [2].
Example Usage:
Use SUMO as an upper ontology for a domain knowledge graph, mapping domain entities such as Vehicle, Process, Agent, or Communication to SUMO classes and relations. This enables logical reasoning, semantic search, knowledge discovery, and integration across heterogeneous knowledge-based systems [1] [2].
Metrics & Statistics¶
Total Nodes |
288016 |
Total Edges |
496645 |
Root Nodes |
77015 |
Leaf Nodes |
197102 |
Classes |
4525 |
Individuals |
80034 |
Properties |
587 |
Maximum Depth |
9 |
Minimum Depth |
0 |
Average Depth |
1.04 |
Depth Variance |
1.39 |
Maximum Breadth |
77015 |
Minimum Breadth |
10 |
Average Breadth |
19045.20 |
Breadth Variance |
739917637.16 |
Term Types |
80280 |
Taxonomic Relations |
7174 |
Non-taxonomic Relations |
310 |
Average Terms per Type |
165.53 |
Usage Example¶
Use the following code to import this ontology programmatically:
from ontolearner.ontology import SUMO
ontology = SUMO()
ontology.load("path/to/SUMO-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