Skip to content

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.

These are BFO Continuants — entities that maintain their identity through time. They occupy the material_artifact, information_content_entity, and related tables.

EntityTableBFO CategorySpecific TypeKey relations
Products (phone cases)material_artifactIndependent ContinuantMaterialArtifact (IOF)has_quality → classification; denoted_by → assets
Design assetsinformation_content_entityGen. Dependent ContinuantInformation Content Entity (IAO)concretized_by → R2 object (IBE); denotes → product
Combo templatesplan_specificationGen. Dependent ContinuantPlan Specification (IAO)Contains Action Specifications; prescribes → future creative testing acts
Tag classificationstag_content_entityGen. Dependent ContinuantICE (IAO)is_about → product collections (via tag match)
Tag groupsinformation_entity_collectionGen. Dependent ContinuantICE Collection (IAO)member_part_of → tag ICEs
Classification settingsobjective_specificationGen. Dependent ContinuantObjective Specification (IAO)Governs nominal classification of products
CSV exportsdocument_artifactGen. Dependent ContinuantDocument (IAO)concretized_by → R2 object (IBE)
Combo suggestionssuggestion_content_entityGen. Dependent ContinuantICE (IAO)Has measurement_confidence quality; references material_artifact

These are BFO Occurrents — entities that unfold over time. They represent processes and events recorded in the system.

EntityTableBFO CategorySpecific TypeKey relations
Shopify orderscommercial_transaction_recordProcess (recorded)IAO Report of Processparticipates_in by customer + merchant agents
Line itemstransaction_participation_recordProcess Part (recorded)IAO Report of Process Partpart_of → order process; references material_artifact
Ingest runsprocedure_execution_recordProcessProcedureExecution (PKO)realizes → cron Function; has_participant → EngineeredSystem (Worker)
Combo logscreative_act_reportProcess (recorded)Report (IAO) of Act (CCO)realizes → Plan Specification (template); has_participant → staff Agent
Daily sync(no table; queue-driven)ProcessProcedureExecution (PKO)precedes → core transform → mart refresh
Core transform(no table; job step)ProcessTransformation Processprecedes → mart refresh; has_input → IBEs, has_output → Measurement Data
Mart refresh(no table; job step)ProcessAggregation ProcessApplies Objective Specifications to produce Nominal Classifications
Combo suggestion generation(no table; async job)ProcessProcedureExecution (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.

EntityTable/ColumnIAO TypeMeasurement ScaleTemporal anchoring
Daily salessales_measurement_datasetMeasurement DatumRatio (count)Anchored to Temporal Region (calendar day)
Performance metricsperformance_measurement_datasetDataset of Measurement DataMixed (ratio counts + nominal classification)Sliding windows: 7d, 14d, 30d, lifetime
Classificationnominal_classification columnNominal Measurement (CCO)Nominal (categorical)Derived from Objective Specification thresholds
Confidence scoremeasurement_confidence columnMeasurement DatumRatio (0.00–1.00)Point-in-time at suggestion generation

These map to BFO and IAO relations, implemented as database tables or columns.

RelationTable/MechanismOntological BasisDomain → Range
denotesdenotation_relationIAO denotesICE (design asset) → MaterialArtifact (product)
is_aboutTag category_name matchIAO is_aboutICE (tag classification) → product collection
agent_in / has_roleagent_role_assignmentCCO agent_in / BFO has_rolePerson (designer) → sales attribution role
realizesCombo log → template referenceBFO realizesCreative testing act → Plan Specification
participates_inImplicit in process recordsBFO participates_inAgent (staff/system) → Process (sync, ingest)
precedesPipeline ordering + watermarkBFO precedesRaw ingest → Core transform → Mart refresh
concretized_bybearer_entity_key columnIAO concretized_byICE (design asset) → IBE (R2 object)
member_part_oftag_names JSONB arrayBFO member_part_ofTag ICE → ICE Collection (tag group)

Agents are CCO Agents — entities capable of intentional action.

RoleBFO TypeAgent TypeTypical acts
OperationsRole (BFO)Person (CCO)Configure classification settings, trigger syncs, monitor health
CreativeRole (BFO)Person (CCO)Manage combos, create templates, classify tags, review suggestions
DesignRole (BFO)Person (CCO)Assigned to tags/products via agent_role_assignment
FulfillmentRole (BFO)Person (CCO)Monitor fulfillment metrics, look up orders

System agents (EngineeredSystems bearing Functions)

Section titled “System agents (EngineeredSystems bearing Functions)”
AgentIOF TypeBFO FunctionActs performed
Dashboard API WorkerEngineeredSystemCRUD dispatch, query servingHTTP request handling, queue enqueue
Ingest WorkerEngineeredSystemData acquisition, transformationShopify sync, asset ingest, mart refresh, CSV generation
Cron TriggerEngineeredSystemScheduled initiationFires ProcedureExecution at configured intervals
AgentTypeInteraction
Shopify Admin APIEngineeredSystem (external)Source of commercial transaction records and product data
DropboxEngineeredSystem (external)Source of design asset files (IBEs)
Google SSOEngineeredSystem (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:

BucketBFO ClassQuestionExample (Shopify Bulk Sync)
WHATProcess (BFO:0000015)What happens?Bulk data acquisition from Shopify
WHOMaterial Entity (BFO:0000040)Who participates?Ingest Worker, Shopify API, Cron Trigger
WHENTemporal Region (BFO:0000008)When does it occur?Daily 6am UTC cron; on-demand via API
WHERESite (BFO:0000029)Where does it occur?Queue binding, R2 bucket, PlanetScale tables
HOW WE KNOWGDC/ICE (BFO:0000031)What information is involved?JSONL payload, queue messages, procedure execution records
HOW IT ISQuality (BFO:0000019)What properties matter?Execution status, watermark position, record counts
WHYRole/DispositionWhy 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.

These conventions apply across all tables in the schema:

ConventionOld nameNew nameRationale
Artifact identifierproduct_idartifact_identifierReferences a MaterialArtifact (IOF)
Temporal origincreated_attemporal_originBFO Temporal Region of entity creation
Last modifiedupdated_atlast_modified_atTracks most recent state change
Content hashchecksumcontent_hash_identifierIAO Identifier derived from content
Nominal classificationclassificationnominal_classificationCCO Nominal Measurement
Measurement confidenceconfidence_scoremeasurement_confidenceIAO Measurement Datum (ratio scale)
Plan specification IDcombo_idplan_specification_identifierStructured IAO Identifier for Plan Specifications
Bearer entity keyr2_keybearer_entity_keyIAO: the IBE carrying the ICE
Aggregate measurementtotal_salesaggregate_measurement_valueIAO Measurement Datum (ratio, aggregated)
Process initiatedstarted_atprocess_initiated_atBFO: temporal origin of a Process
Straightforward datatitle, vendor, status, quantity(unchanged)Plain descriptors stay as-is