Domain Ontology Mapping
This is the single source of truth for how BluntDashboard’s domain maps to the ontology stack. Other pages reference this mapping — they don’t re-derive it.
Continuant entities (things that persist)
Section titled “Continuant entities (things that persist)”These are BFO Continuants — entities that maintain their identity through time. They occupy the material_artifact, information_content_entity, and related tables.
| Entity | Table | BFO Category | Specific Type | Key relations |
|---|---|---|---|---|
| Products (phone cases) | material_artifact | Independent Continuant | MaterialArtifact (IOF) | has_quality → classification; denoted_by → assets |
| Design assets | information_content_entity | Gen. Dependent Continuant | Information Content Entity (IAO) | concretized_by → R2 object (IBE); denotes → product |
| Combo templates | plan_specification | Gen. Dependent Continuant | Plan Specification (IAO) | Contains Action Specifications; prescribes → future creative testing acts |
| Tag classifications | tag_content_entity | Gen. Dependent Continuant | ICE (IAO) | is_about → product collections (via tag match) |
| Tag groups | information_entity_collection | Gen. Dependent Continuant | ICE Collection (IAO) | member_part_of → tag ICEs |
| Classification settings | objective_specification | Gen. Dependent Continuant | Objective Specification (IAO) | Governs nominal classification of products |
| CSV exports | document_artifact | Gen. Dependent Continuant | Document (IAO) | concretized_by → R2 object (IBE) |
| Combo suggestions | suggestion_content_entity | Gen. Dependent Continuant | ICE (IAO) | Has measurement_confidence quality; references material_artifact |
Occurrent entities (things that happen)
Section titled “Occurrent entities (things that happen)”These are BFO Occurrents — entities that unfold over time. They represent processes and events recorded in the system.
| Entity | Table | BFO Category | Specific Type | Key relations |
|---|---|---|---|---|
| Shopify orders | commercial_transaction_record | Process (recorded) | IAO Report of Process | participates_in by customer + merchant agents |
| Line items | transaction_participation_record | Process Part (recorded) | IAO Report of Process Part | part_of → order process; references material_artifact |
| Ingest runs | procedure_execution_record | Process | ProcedureExecution (PKO) | realizes → cron Function; has_participant → EngineeredSystem (Worker) |
| Combo logs | creative_act_report | Process (recorded) | Report (IAO) of Act (CCO) | realizes → Plan Specification (template); has_participant → staff Agent |
| Daily sync | (no table; queue-driven) | Process | ProcedureExecution (PKO) | precedes → core transform → mart refresh |
| Core transform | (no table; job step) | Process | Transformation Process | precedes → mart refresh; has_input → IBEs, has_output → Measurement Data |
| Mart refresh | (no table; job step) | Process | Aggregation Process | Applies Objective Specifications to produce Nominal Classifications |
| Combo suggestion generation | (no table; async job) | Process | ProcedureExecution (PKO) | Produces suggestion ICEs with measurement_confidence |
Measurement entities (quantified observations)
Section titled “Measurement entities (quantified observations)”These are IAO Measurement Data — information content entities resulting from measurement processes.
| Entity | Table/Column | IAO Type | Measurement Scale | Temporal anchoring |
|---|---|---|---|---|
| Daily sales | sales_measurement_dataset | Measurement Datum | Ratio (count) | Anchored to Temporal Region (calendar day) |
| Performance metrics | performance_measurement_dataset | Dataset of Measurement Data | Mixed (ratio counts + nominal classification) | Sliding windows: 7d, 14d, 30d, lifetime |
| Classification | nominal_classification column | Nominal Measurement (CCO) | Nominal (categorical) | Derived from Objective Specification thresholds |
| Confidence score | measurement_confidence column | Measurement Datum | Ratio (0.00–1.00) | Point-in-time at suggestion generation |
Relational entities (how things connect)
Section titled “Relational entities (how things connect)”These map to BFO and IAO relations, implemented as database tables or columns.
| Relation | Table/Mechanism | Ontological Basis | Domain → Range |
|---|---|---|---|
| denotes | denotation_relation | IAO denotes | ICE (design asset) → MaterialArtifact (product) |
| is_about | Tag category_name match | IAO is_about | ICE (tag classification) → product collection |
| agent_in / has_role | agent_role_assignment | CCO agent_in / BFO has_role | Person (designer) → sales attribution role |
| realizes | Combo log → template reference | BFO realizes | Creative testing act → Plan Specification |
| participates_in | Implicit in process records | BFO participates_in | Agent (staff/system) → Process (sync, ingest) |
| precedes | Pipeline ordering + watermark | BFO precedes | Raw ingest → Core transform → Mart refresh |
| concretized_by | bearer_entity_key column | IAO concretized_by | ICE (design asset) → IBE (R2 object) |
| member_part_of | tag_names JSONB array | BFO member_part_of | Tag ICE → ICE Collection (tag group) |
Agent ontology (who does things)
Section titled “Agent ontology (who does things)”Agents are CCO Agents — entities capable of intentional action.
Staff roles (Persons bearing BFO Roles)
Section titled “Staff roles (Persons bearing BFO Roles)”| Role | BFO Type | Agent Type | Typical acts |
|---|---|---|---|
| Operations | Role (BFO) | Person (CCO) | Configure classification settings, trigger syncs, monitor health |
| Creative | Role (BFO) | Person (CCO) | Manage combos, create templates, classify tags, review suggestions |
| Design | Role (BFO) | Person (CCO) | Assigned to tags/products via agent_role_assignment |
| Fulfillment | Role (BFO) | Person (CCO) | Monitor fulfillment metrics, look up orders |
System agents (EngineeredSystems bearing Functions)
Section titled “System agents (EngineeredSystems bearing Functions)”| Agent | IOF Type | BFO Function | Acts performed |
|---|---|---|---|
| Dashboard API Worker | EngineeredSystem | CRUD dispatch, query serving | HTTP request handling, queue enqueue |
| Ingest Worker | EngineeredSystem | Data acquisition, transformation | Shopify sync, asset ingest, mart refresh, CSV generation |
| Cron Trigger | EngineeredSystem | Scheduled initiation | Fires ProcedureExecution at configured intervals |
External agents
Section titled “External agents”| Agent | Type | Interaction |
|---|---|---|
| Shopify Admin API | EngineeredSystem (external) | Source of commercial transaction records and product data |
| Dropbox | EngineeredSystem (external) | Source of design asset files (IBEs) |
| Google SSO | EngineeredSystem (external) | Identity provider for CF Access |
BFO 7 Buckets (process description pattern)
Section titled “BFO 7 Buckets (process description pattern)”Inspired by the naas-abi project’s structured process descriptions, each scenario in this spec can be decomposed using the BFO 7 Buckets:
| Bucket | BFO Class | Question | Example (Shopify Bulk Sync) |
|---|---|---|---|
| WHAT | Process (BFO:0000015) | What happens? | Bulk data acquisition from Shopify |
| WHO | Material Entity (BFO:0000040) | Who participates? | Ingest Worker, Shopify API, Cron Trigger |
| WHEN | Temporal Region (BFO:0000008) | When does it occur? | Daily 6am UTC cron; on-demand via API |
| WHERE | Site (BFO:0000029) | Where does it occur? | Queue binding, R2 bucket, PlanetScale tables |
| HOW WE KNOW | GDC/ICE (BFO:0000031) | What information is involved? | JSONL payload, queue messages, procedure execution records |
| HOW IT IS | Quality (BFO:0000019) | What properties matter? | Execution status, watermark position, record counts |
| WHY | Role/Disposition | Why does it happen? | Cron Function (scheduled), sync Disposition (keep data current) |
This pattern is used throughout the Scenarios section to provide structured process descriptions alongside the ConnectSpec workflow steps.
Column naming conventions
Section titled “Column naming conventions”These conventions apply across all tables in the schema:
| Convention | Old name | New name | Rationale |
|---|---|---|---|
| Artifact identifier | product_id | artifact_identifier | References a MaterialArtifact (IOF) |
| Temporal origin | created_at | temporal_origin | BFO Temporal Region of entity creation |
| Last modified | updated_at | last_modified_at | Tracks most recent state change |
| Content hash | checksum | content_hash_identifier | IAO Identifier derived from content |
| Nominal classification | classification | nominal_classification | CCO Nominal Measurement |
| Measurement confidence | confidence_score | measurement_confidence | IAO Measurement Datum (ratio scale) |
| Plan specification ID | combo_id | plan_specification_identifier | Structured IAO Identifier for Plan Specifications |
| Bearer entity key | r2_key | bearer_entity_key | IAO: the IBE carrying the ICE |
| Aggregate measurement | total_sales | aggregate_measurement_value | IAO Measurement Datum (ratio, aggregated) |
| Process initiated | started_at | process_initiated_at | BFO: temporal origin of a Process |
| Straightforward data | title, vendor, status, quantity | (unchanged) | Plain descriptors stay as-is |