agent-utilities OWL Ontology Guide
📋 Ontology Catalog
All ontologies use namespace @prefix : <http://knuckles.team/kg#> and are
aligned to BFO (Basic Formal Ontology).
| File |
Domain |
Key Classes |
ontology.ttl |
Core |
Person, Organization, Event, Place, Document, Concept |
ontology_hr.ttl |
HR/Workforce |
Employee, Department, CompensationBand, PerformanceReview, OKR |
ontology_legal.ttl |
Legal |
LegalMatter, CaseLaw, Statute, Contract, ContractClause |
ontology_banking.ttl |
Banking |
BankAccount, KYCRecord, PaymentMessage, CreditRiskAssessment |
ontology_enterprise.ttl |
Enterprise Architecture |
ArchiMateElement, ArchitectureDecisionRecord, Policy |
ontology_infrastructure.ttl |
Infrastructure |
Host, Container, Network, Volume, Service |
ontology_quant.ttl |
Quantitative Finance |
Strategy, Signal, Portfolio, BacktestResult |
ontology_medical.ttl |
Medical/Health |
Patient, Diagnosis, Treatment, MedicalRecord |
ontology_wellness.ttl |
Wellness |
WellnessGoal, ExerciseSession, NutritionLog |
ontology_social.ttl |
Social/Media |
SocialPost, Platform, Engagement, Audience |
ontology_personal.ttl |
Personal |
PersonalGoal, Habit, JournalEntry |
ontology_government.ttl |
Government |
Agency, Regulation, PublicService |
ontology_energy_geopolitics.ttl |
Energy/Geopolitics |
EnergySource, GeopoliticalEntity |
ontology_media.ttl |
Media/Content |
MediaAsset, ContentPipeline, Distribution |
ontology_sdd.ttl |
SDD Pipeline |
DesignDocument, Specification, Implementation |
ontology_company.ttl |
Company Operations |
Company, StrategicGoal, KPI, AgentDepartment |
ontology_company_infra.ttl |
Company Infrastructure |
CompanySoftware, DeploymentBlueprint |
🔗 Core Classes (BFO Alignment)
BFO:IndependentContinuant (things that exist on their own)
├── Person → Employee, Contractor
├── Organization → Company, Department, CorrespondentBank
├── Place → Jurisdiction
└── Agent → SpecialistAgent
BFO:Process (things that happen over time)
├── Event → PerformanceReview, LegalMatter, HiringPipeline
└── Procedure → ComplianceAudit, PayrollRun
BFO:GenericallyDependentContinuant (information entities)
├── Document → Contract, Article, ResearchPaper
├── Concept → KBConcept, StrategicGoal
├── Credential → License, Certification
└── Statute → FederalStatute, StateStatute
📝 Writing Ontology Extensions
Template for new domain ontology
@prefix : <http://knuckles.team/kg#> .
@prefix bfo: <http://purl.obolibrary.org/obo/BFO_> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://knuckles.team/kg/my_domain> a owl:Ontology ;
rdfs:label "My Domain Ontology" ;
rdfs:comment "Description of what this ontology covers." ;
owl:imports <http://knuckles.team/kg> .
:MyClass a owl:Class ;
rdfs:label "My Class" ;
rdfs:comment "Explanation of what this class represents." ;
rdfs:subClassOf bfo:0000004 . # IndependentContinuant
:myProperty a owl:ObjectProperty ;
rdfs:label "my property" ;
rdfs:domain :MyClass ;
rdfs:range :OtherClass .
Key Patterns
- Transitive properties: Use
owl:TransitiveProperty for hierarchies
(e.g., reportsTo, cascadesTo, departmentPartOf)
- Symmetric properties: Use
owl:SymmetricProperty for bidirectional
(e.g., conflictsWithParty)
- Inverse properties: Use
owl:inverseOf for pairs
(e.g., nostroOf / vostroOf)
🔍 SPARQL Query Examples
# Find all employees in a department
SELECT ?emp ?name WHERE {
?emp a :Employee ;
:assignedToDepartment ?dept ;
rdfs:label ?name .
?dept rdfs:label "Engineering" .
}
# Find OKR cascade chain
SELECT ?okr ?parent WHERE {
?okr :cascadesTo+ ?parent .
?parent a :OKR .
}
# Cross-domain: Find employees with expired credentials
SELECT ?emp ?cred ?expiry WHERE {
?emp :holdsCredential ?cred .
?cred :credentialExpiry ?expiry .
FILTER (?expiry < NOW())
}
1---2name: agent-utilities-ontology3description: OWL ontology reference for agent-utilities. Covers the core ontology, 16 domain ontologies, BFO alignment, and SPARQL query patterns.4---56# agent-utilities OWL Ontology Guide78## 📋 Ontology Catalog910All ontologies use namespace `@prefix : <http://knuckles.team/kg#>` and are11aligned to [BFO (Basic Formal Ontology)](https://basic-formal-ontology.org/).1213| File | Domain | Key Classes |14|------|--------|-------------|15| `ontology.ttl` | **Core** | Person, Organization, Event, Place, Document, Concept |16| `ontology_hr.ttl` | HR/Workforce | Employee, Department, CompensationBand, PerformanceReview, OKR |17| `ontology_legal.ttl` | Legal | LegalMatter, CaseLaw, Statute, Contract, ContractClause |18| `ontology_banking.ttl` | Banking | BankAccount, KYCRecord, PaymentMessage, CreditRiskAssessment |19| `ontology_enterprise.ttl` | Enterprise Architecture | ArchiMateElement, ArchitectureDecisionRecord, Policy |20| `ontology_infrastructure.ttl` | Infrastructure | Host, Container, Network, Volume, Service |21| `ontology_quant.ttl` | Quantitative Finance | Strategy, Signal, Portfolio, BacktestResult |22| `ontology_medical.ttl` | Medical/Health | Patient, Diagnosis, Treatment, MedicalRecord |23| `ontology_wellness.ttl` | Wellness | WellnessGoal, ExerciseSession, NutritionLog |24| `ontology_social.ttl` | Social/Media | SocialPost, Platform, Engagement, Audience |25| `ontology_personal.ttl` | Personal | PersonalGoal, Habit, JournalEntry |26| `ontology_government.ttl` | Government | Agency, Regulation, PublicService |27| `ontology_energy_geopolitics.ttl` | Energy/Geopolitics | EnergySource, GeopoliticalEntity |28| `ontology_media.ttl` | Media/Content | MediaAsset, ContentPipeline, Distribution |29| `ontology_sdd.ttl` | SDD Pipeline | DesignDocument, Specification, Implementation |30| `ontology_company.ttl` | Company Operations | Company, StrategicGoal, KPI, AgentDepartment |31| `ontology_company_infra.ttl` | Company Infrastructure | CompanySoftware, DeploymentBlueprint |3233## 🔗 Core Classes (BFO Alignment)3435```36BFO:IndependentContinuant (things that exist on their own)37├── Person → Employee, Contractor38├── Organization → Company, Department, CorrespondentBank39├── Place → Jurisdiction40└── Agent → SpecialistAgent4142BFO:Process (things that happen over time)43├── Event → PerformanceReview, LegalMatter, HiringPipeline44└── Procedure → ComplianceAudit, PayrollRun4546BFO:GenericallyDependentContinuant (information entities)47├── Document → Contract, Article, ResearchPaper48├── Concept → KBConcept, StrategicGoal49├── Credential → License, Certification50└── Statute → FederalStatute, StateStatute51```5253## 📝 Writing Ontology Extensions5455### Template for new domain ontology56```turtle57@prefix : <http://knuckles.team/kg#> .58@prefix bfo: <http://purl.obolibrary.org/obo/BFO_> .59@prefix owl: <http://www.w3.org/2002/07/owl#> .60@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .61@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .6263<http://knuckles.team/kg/my_domain> a owl:Ontology ;64 rdfs:label "My Domain Ontology" ;65 rdfs:comment "Description of what this ontology covers." ;66 owl:imports <http://knuckles.team/kg> .6768:MyClass a owl:Class ;69 rdfs:label "My Class" ;70 rdfs:comment "Explanation of what this class represents." ;71 rdfs:subClassOf bfo:0000004 . # IndependentContinuant7273:myProperty a owl:ObjectProperty ;74 rdfs:label "my property" ;75 rdfs:domain :MyClass ;76 rdfs:range :OtherClass .77```7879### Key Patterns80- **Transitive properties**: Use `owl:TransitiveProperty` for hierarchies81 (e.g., `reportsTo`, `cascadesTo`, `departmentPartOf`)82- **Symmetric properties**: Use `owl:SymmetricProperty` for bidirectional83 (e.g., `conflictsWithParty`)84- **Inverse properties**: Use `owl:inverseOf` for pairs85 (e.g., `nostroOf` / `vostroOf`)8687## 🔍 SPARQL Query Examples8889```sparql90# Find all employees in a department91SELECT ?emp ?name WHERE {92 ?emp a :Employee ;93 :assignedToDepartment ?dept ;94 rdfs:label ?name .95 ?dept rdfs:label "Engineering" .96}9798# Find OKR cascade chain99SELECT ?okr ?parent WHERE {100 ?okr :cascadesTo+ ?parent .101 ?parent a :OKR .102}103104# Cross-domain: Find employees with expired credentials105SELECT ?emp ?cred ?expiry WHERE {106 ?emp :holdsCredential ?cred .107 ?cred :credentialExpiry ?expiry .108 FILTER (?expiry < NOW())109}110```