Top-Level
The Basic Formal Ontology (BFO) provides the foundational framework for the Naas Ontology. BFO is a top-level ontology that systematically categorizes all entities that exist or can exist.
Ontology Engineering Core Principle​
Ontology engineering aims to systematically disambiguate data to simultaneously advance interoperability and information quality. This distinguishes it from data modeling, knowledge representation, and taxonomy creation through its focus on formal precision and systematic disambiguation.
BFO High-Level Structure​
BFO divides all entities into two fundamental categories:
- Continuants - entities that persist through time
- Occurrents - entities that happen in time
Systematic Ontology Engineering​
Professional ontology engineering requires a disciplined approach to avoid the chaos of ad-hoc modeling. The 7 buckets strategy provides this discipline by ensuring systematic coverage of any domain through seven fundamental questions. This method prevents gaps, reduces overlap, and maintains consistency across different modeling efforts.
The 7 Buckets Strategy​
BFO provides systematic rules for modeling any domain through seven fundamental questions:
| Bucket | Question | Class | Relation |
|---|---|---|---|
| 1 | What materials exist? | Material Entity | - |
| 2 | What qualities do they have? | Quality | inheres in |
| 3 | What could they do? | Realizable Entity | inheres in, has material basis |
| 4 | What do they actually do? | Process | participates in |
| 5 | Where are they located? | Immaterial Entity | located in |
| 6 | When do they exist? | Temporal Region | exists at, datatype property |
| 7 | What information describes 1-6? | Generically Dependent Continuant | generically depends on |
Additional relation: Realizables to processes → has realization
Rules of Thumb​
When identifying relations, describe:​
- Qualities to material entities, i.e. inheres in
- Realizables to material entities, i.e. inheres in, has material basis
- Processes to material entities, i.e participates in
- Realizables to processes, i.e. has realization
- Immaterial location of material entity, i.e. located in
- When any such entities exist, i.e. exists at, datatype property
- When any such entities carry information, e.g. generically depends on
When identifying classes, describe:​
- Material entities within scope, i.e. Material Entity
- Qualities these material entities have, i.e. Quality
- What these material entities could do, i.e. Realizable Entity
- What these material entities actually do, i.e. Process
- Where these entities and boundaries are located, i.e. Immaterial Entity
- When these entities exist, i.e. Temporal Region
- Information about 1-6, i.e. Generically Dependent Continuant
Implementation Example: Naas Ontology​
The following examples demonstrate how the 7 buckets strategy is applied to model AI systems in the Naas domain. Each code block shows the systematic classification of domain entities according to BFO principles, with proper class hierarchies and relation patterns.
1. Material Entities (WHAT/WHO)​
The code defines AISystem and AIModelInstance as subclasses of bfo:BFO_0000040 (Material Entity). Notice how each class includes rdfs:label, skos:definition, and skos:example to provide human-readable descriptions and concrete instances:
@prefix bfo: <http://purl.obolibrary.org/obo/> .
@prefix abi: <http://ontology.naas.ai/abi/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
# AI Systems as material entities
abi:AISystem a owl:Class ;
rdfs:subClassOf bfo:BFO_0000040 ; # Material Entity
rdfs:label "AI System"@en ;
skos:definition "A material entity that implements artificial intelligence capabilities."@en ;
skos:example "ChatGPT server infrastructure, Claude API endpoints, Gemini model instances."@en .
abi:AIModelInstance a owl:Class ;
rdfs:subClassOf bfo:BFO_0000040 ; # Material Entity
rdfs:label "AI Model Instance"@en ;
skos:definition "A material entity that is a specific instantiation of an AI model running on hardware."@en .
2. Qualities (HOW-IT-IS)​
The code defines three quality classes: IntelligenceScore, ResponseSpeed, and CostPerToken, all as subclasses of bfo:BFO_0000019 (Quality). Each represents a measurable property that can inhere in AI systems:
# Performance qualities of AI systems
abi:IntelligenceScore a owl:Class ;
rdfs:subClassOf bfo:BFO_0000019 ; # Quality
rdfs:label "Intelligence Score"@en ;
skos:definition "A quality that measures the cognitive capability of an AI system."@en .
abi:ResponseSpeed a owl:Class ;
rdfs:subClassOf bfo:BFO_0000019 ; # Quality
rdfs:label "Response Speed"@en ;
skos:definition "A quality that measures how quickly an AI system responds to queries."@en .
abi:CostPerToken a owl:Class ;
rdfs:subClassOf bfo:BFO_0000019 ; # Quality
rdfs:label "Cost Per Token"@en ;
skos:definition "A quality that measures the financial cost per token processed."@en .
3. Realizable Entities (WHY-POTENTIAL)​
The code defines AgentRole and CognitiveCapability as subclasses of bfo:BFO_0000017 (Realizable Entity). Note the skos:example showing specific instances like "Primary responder" and "Truth-seeking analysis":
# Agent roles and capabilities
abi:AgentRole a owl:Class ;
rdfs:subClassOf bfo:BFO_0000017 ; # Realizable Entity
rdfs:label "Agent Role"@en ;
skos:definition "A realizable entity that defines the specialized function or role of an AI agent."@en ;
skos:example "Primary responder, fallback handler, specialized task executor."@en .
abi:CognitiveCapability a owl:Class ;
rdfs:subClassOf bfo:BFO_0000017 ; # Realizable Entity
rdfs:label "Cognitive Capability"@en ;
skos:definition "A realizable entity that represents a cognitive ability of an AI system."@en ;
skos:example "Truth-seeking analysis, ethical reasoning, multimodal processing."@en .
4. Processes (HOW-IT-HAPPENS)​
The code defines three process classes: AIProcessing, AgentRouting, and KnowledgeGraphConstruction, all as subclasses of bfo:BFO_0000015 (Process). Each represents activities that unfold over time:
# AI processing activities
abi:AIProcessing a owl:Class ;
rdfs:subClassOf bfo:BFO_0000015 ; # Process
rdfs:label "AI Processing"@en ;
skos:definition "A process in which an AI system analyzes input and generates output."@en .
abi:AgentRouting a owl:Class ;
rdfs:subClassOf bfo:BFO_0000015 ; # Process
rdfs:label "Agent Routing"@en ;
skos:definition "A process of selecting the appropriate AI agent based on cognitive requirements."@en .
abi:KnowledgeGraphConstruction a owl:Class ;
rdfs:subClassOf bfo:BFO_0000015 ; # Process
rdfs:label "Knowledge Graph Construction"@en ;
skos:definition "A process of building structured knowledge representations from data."@en .
5. Information Entities (HOW-WE-KNOW)​
The code defines OntologyDefinition and SPARQLQuery as subclasses of bfo:BFO_0000031 (Generically Dependent Continuant). Both represent information structures that depend on some bearer for their existence:
# Information structures
abi:OntologyDefinition a owl:Class ;
rdfs:subClassOf bfo:BFO_0000031 ; # Generically Dependent Continuant
rdfs:label "Ontology Definition"@en ;
skos:definition "An information entity that specifies the structure and meaning of an ontology."@en .
abi:SPARQLQuery a owl:Class ;
rdfs:subClassOf bfo:BFO_0000031 ; # Generically Dependent Continuant
rdfs:label "SPARQL Query"@en ;
skos:definition "An information entity that represents a query in SPARQL language."@en .
6. Immaterial Entities (WHERE)​
The code defines DataCenterLocation and CloudRegion as subclasses of bfo:BFO_0000141 (Immaterial Entity). These represent spatial boundaries and locations where material entities exist:
# Spatial locations and boundaries
abi:DataCenterLocation a owl:Class ;
rdfs:subClassOf bfo:BFO_0000141 ; # Immaterial Entity
rdfs:label "Data Center Location"@en ;
skos:definition "An immaterial entity that represents the spatial location of a data center."@en .
abi:CloudRegion a owl:Class ;
rdfs:subClassOf bfo:BFO_0000141 ; # Immaterial Entity
rdfs:label "Cloud Region"@en ;
skos:definition "An immaterial entity that represents a geographical region for cloud services."@en .
7. Temporal Regions (WHEN)​
The code defines InferenceSession and ModelTrainingPeriod as subclasses of bfo:BFO_0000008 (Temporal Region). These represent time intervals during which processes occur:
# Temporal intervals
abi:InferenceSession a owl:Class ;
rdfs:subClassOf bfo:BFO_0000008 ; # Temporal Region
rdfs:label "Inference Session"@en ;
skos:definition "A temporal region during which an AI system performs inference."@en .
abi:ModelTrainingPeriod a owl:Class ;
rdfs:subClassOf bfo:BFO_0000008 ; # Temporal Region
rdfs:label "Model Training Period"@en ;
skos:definition "A temporal region during which an AI model undergoes training."@en .
Next Steps​
The BFO foundation provides the systematic basis for:
- Mid-Level - Common Core Ontologies that build on BFO
- Domain-Level - Specific domains grounded in BFO categories
- Process-Centric Routing - AI routing based on BFO process analysis
BFO provides the rigorous ontological foundation that ensures consistency and interoperability across all levels of the Naas Ontology.