The core manufacturing ontology already gives us shared concepts. Here we extend it with the classes and relationships needed to describe inventory operations.
In the previous articles, we defined a small core manufacturing ontology and extended it with the concepts needed to describe production, quality, and maintenance operations.
The same approach can be applied to inventory.
The core ontology already provides the general concepts needed to describe manufacturing operations:
However, it deliberately does not define concepts such as warehouses, material lots, storage tanks, putaway processes, stock-count records, or inventory availability states.
Those concepts belong in an inventory-domain ontology.
The purpose of the inventory ontology is to introduce the vocabulary needed to describe where materials are held, how they are received and moved, how their quantities are recorded, and whether they are available for production or dispatch.
In this example, the inventory ontology covers:
The example is based on the inventory operations of a ketchup-production plant, but the same extension approach can be applied across food and beverage, pharmaceutical, chemical, automotive, and other manufacturing environments.
The inventory ontology introduces more specific concepts by making them subclasses of the existing core concepts.
For example:
InventoryProcess SUBCLASS_OF Process
MaterialLot SUBCLASS_OF PhysicalEntity
InventoryRecord SUBCLASS_OF OperationalEntity
WarehouseOperator SUBCLASS_OF Agent
StorageCapability SUBCLASS_OF Capability
InventoryEvent SUBCLASS_OF Event
AvailableState SUBCLASS_OF MaterialStateThe core remains unchanged.
It still describes the general semantic structure of manufacturing operations. The inventory ontology adds the vocabulary required to represent material storage, movement, availability, and stock accounting.
The resulting architecture is:
Core ontology
↓
Inventory-domain ontologyFor example:
Process
└── InventoryProcess
├── MaterialReceipt
├── Putaway
├── Picking
├── MaterialTransfer
├── StockCount
└── DispatchEach inventory process retains the meaning of the core Process concept: it represents work that happens over time and affects something.
Inventory operations take place across several types of storage and material-handling areas.
The inventory ontology introduces:
Warehouse SUBCLASS_OF Area
StorageZone SUBCLASS_OF WorkCenter
ReceivingArea SUBCLASS_OF Area
DispatchArea SUBCLASS_OF Area
QuarantineStore SUBCLASS_OF WorkCenterA Warehouse is the building in which raw materials, packaging components, and finished products are held before they are consumed or dispatched.
An actual warehouse could later be represented as:
MainWarehouse
INSTANCE_OF WarehouseA StorageZone is a demarcated area within a warehouse that groups storage locations according to their conditions or purpose.
Examples include:
Ambient storage
Chilled storage
Hazardous-material storage
Finished-goods storageAt the knowledge-graph level:
AmbientZone1
INSTANCE_OF StorageZoneA ReceivingArea is the dock or staging area where inbound materials and packaging components are unloaded and checked before they are moved into storage.
For example:
ReceivingDock1
INSTANCE_OF ReceivingAreaA receipt process could then be connected to the location:
MaterialReceipt4711
OCCURS_AT ReceivingDock1A DispatchArea is the area where finished-goods pallets are staged and loaded onto outbound vehicles.
For example:
DispatchDock2
INSTANCE_OF DispatchAreaA QuarantineStore is a segregated location used to hold material that is on hold pending quality release or another disposition decision.
For example:
QuarantineStore1
INSTANCE_OF QuarantineStoreThe inventory ontology therefore gives the general core concept Location a more precise warehousing and material-handling meaning.
The inventory ontology introduces five physical concepts:
MaterialLot
StorageBin
Silo
StorageTank
UnitLoadAll five extend the core PhysicalEntity concept.
A MaterialLot is a traceable quantity of a single material that was received or produced together and shares one lot code.
For example:
SugarLot4711
INSTANCE_OF MaterialLotThe material lot is the unit through which inventory can be connected to:
A lot may be stored, transferred, issued, quarantined, or depleted over time.
A StorageBin is a discrete, addressable storage position on a rack or shelf.
For example:
BinA-01-03
INSTANCE_OF StorageBinIt identifies the specific position at which a unit load or quantity of material is held.
A Silo is a bulk vessel used to hold dry ingredients ahead of production.
Examples include:
Sugar silo
Starch siloAn actual silo could be represented as:
SugarSilo1
INSTANCE_OF SiloA StorageTank is a bulk vessel used to store liquid ingredients ahead of the batch process.
Examples include vessels holding:
Vinegar
Oil
Liquid sweetenerFor example:
VinegarTank12
INSTANCE_OF StorageTankA UnitLoad is a palletized grouping of material that is handled and moved as one unit.
For example:
PalletUL-8821
INSTANCE_OF UnitLoadA unit load may contain raw materials, packaging components, or finished goods.
Together, these concepts allow the inventory ontology to represent both the traceable material and the physical form in which it is stored or handled.
The inventory ontology introduces an abstract parent concept:
InventoryProcess SUBCLASS_OF ProcessIt then defines six types of inventory work:
MaterialReceipt
Putaway
Picking
MaterialTransfer
StockCount
DispatchMaterialReceipt represents taking delivery of inbound material and booking it into stock.
For example:
SugarReceipt4711
INSTANCE_OF MaterialReceiptThe process may involve:
Putaway represents moving received material from the receiving area to its assigned storage location.
For example:
SugarPutaway4711
INSTANCE_OF PutawayThe process connects material receipt with warehouse storage:
ReceivingArea
↓
Putaway
↓
StorageZone or storage positionPicking represents retrieving material from storage to satisfy a production or dispatch demand.
For example:
IngredientPick882
INSTANCE_OF PickingA picking execution may retrieve raw ingredients for a production order or finished-goods pallets for customer dispatch.
MaterialTransfer represents relocating material from one storage location to another within the site.
For example:
TransferExecution92
INSTANCE_OF MaterialTransferThis might move material:
StockCount represents physically counting material to verify the recorded inventory quantity.
For example:
CycleCountExecution32
INSTANCE_OF StockCountThe count may identify a difference between:
Recorded quantityand:
Physically counted quantityDispatch represents loading finished-goods pallets onto an outbound vehicle and removing them from stock.
For example:
DispatchExecution204
INSTANCE_OF DispatchTogether, the inventory processes describe the material-handling lifecycle:
MaterialReceipt
↓
Putaway
↓
Storage
↓
Picking or MaterialTransfer
↓
Production consumption or DispatchStock counts may occur throughout this lifecycle to verify the accuracy of the inventory records.
The inventory ontology introduces five operational entities:
InventoryRecord
MaterialTransferOrder
StockCountRecord
GoodsReceipt
PickListThese can be divided broadly into instructions that direct inventory work and records that document what happened.
The following concepts direct or authorize work:
MaterialTransferOrder
PickListA MaterialTransferOrder authorizes the movement of material between two locations.
For example:
TransferOrder882
INSTANCE_OF MaterialTransferOrderIt can guide a material-transfer process:
TransferExecution92
IS_GUIDED_BY TransferOrder882A PickList identifies the materials and quantities that must be retrieved to satisfy a production or dispatch demand.
For example:
ProductionPickList4711
INSTANCE_OF PickListIt can guide a picking execution:
IngredientPick882
IS_GUIDED_BY ProductionPickList4711The following concepts provide evidence of inventory activity:
InventoryRecord
StockCountRecord
GoodsReceiptAn InventoryRecord represents the accounting record of the quantity of a material held at a particular location.
For example:
SugarInventoryRecord12
INSTANCE_OF InventoryRecordA StockCountRecord captures the physical quantity counted and any variance from the recorded stock.
For example:
CycleCountRecord32
INSTANCE_OF StockCountRecordThe stock-count process can produce it:
CycleCountExecution32
PRODUCES CycleCountRecord32A GoodsReceipt confirms that inbound material was received against a purchase order.
For example:
GoodsReceipt4711
INSTANCE_OF GoodsReceiptThe material-receipt process can produce it:
SugarReceipt4711
PRODUCES GoodsReceipt4711This creates a distinction between:
The inventory work that should be performedand:
The accounting evidence of what was received, moved, picked, or countedThat distinction is important for stock accuracy, traceability, reconciliation, and auditability.
The inventory ontology introduces two types of agent:
WarehouseOperator SUBCLASS_OF Agent
MaterialHandler SUBCLASS_OF AgentA WarehouseOperator is a person responsible for receiving, storing, and issuing material while maintaining stock accuracy.
For example:
WarehouseOperator17
INSTANCE_OF WarehouseOperatorThe operator may participate in several inventory processes:
WarehouseOperator17
PARTICIPATES_IN SugarReceipt4711
WarehouseOperator17
PARTICIPATES_IN CycleCountExecution32The core role model can then describe how the operator participates:
WarehouseOperator17
PLAYS_ROLE PerformerA MaterialHandler is a person or vehicle that physically moves unit loads between locations.
For example:
Forklift3
INSTANCE_OF MaterialHandlerIt may participate in a putaway or transfer execution:
Forklift3
PARTICIPATES_IN SugarPutaway4711The inventory ontology therefore supports both human and mechanized participants in material movement.
The source ontology does not introduce inventory-specific roles such as Picker, Receiver, or Carrier. These can be represented through the shared core role model or added later through a more detailed inventory extension.
The inventory ontology introduces two capabilities:
StorageCapability
MaterialHandlingCapabilityThese extend the core Capability concept.
StorageCapability is the ability to hold a material under the conditions required by its specification.
For example:
ChilledStorageZone1
HAS_CAPABILITY ChilledStorageCapabilityor, using the general class defined by the current ontology:
Warehouse1
HAS_CAPABILITY StorageCapabilityAn inventory process or storage requirement can then declare that it requires a suitable storage capability.
This supports questions such as:
Which location has the capability to store this material under its required conditions?
MaterialHandlingCapability is the ability to lift, transport, and place unit loads within the warehouse.
For example:
Forklift3
HAS_CAPABILITY MaterialHandlingCapabilityA putaway or transfer process may require that capability:
SugarPutaway4711
REQUIRES_CAPABILITY MaterialHandlingCapabilityThis creates the reusable core matching pattern:
InventoryProcess
REQUIRES_CAPABILITY
Capability
possessed by
Agent or PhysicalEntityAn application or AI agent can use this pattern to identify which operators, vehicles, or storage locations are suitable for a particular inventory task.
The inventory ontology introduces:
InventoryEvent SUBCLASS_OF EventIt then defines five inventory events:
MaterialReceived
MaterialIssued
MaterialTransferred
StockCounted
MaterialQuarantinedMaterialReceived records that a quantity of material entered stock.
For example:
MaterialReceivedEvent4711
INSTANCE_OF MaterialReceivedThe event may occur during a receipt process:
MaterialReceivedEvent4711
OCCURS_DURING SugarReceipt4711MaterialIssued records that a quantity of material was issued from inventory to satisfy a production or dispatch demand.
For example:
MaterialIssuedEvent882
INSTANCE_OF MaterialIssuedMaterialTransferred records that material moved from one location to another.
For example:
MaterialTransferredEvent92
INSTANCE_OF MaterialTransferredThe event may occur during a transfer execution:
MaterialTransferredEvent92
OCCURS_DURING TransferExecution92StockCounted records that a material was physically counted and that the resulting variance was recorded.
For example:
StockCountedEvent32
INSTANCE_OF StockCountedMaterialQuarantined records that material was placed on hold and moved to quarantine pending disposition.
For example:
MaterialQuarantinedEvent71
INSTANCE_OF MaterialQuarantinedThe event may affect the material lot and change its availability:
MaterialQuarantinedEvent71
AFFECTS SugarLot4711
MaterialQuarantinedEvent71
CHANGES_STATE SugarLot4711Together, these events provide the time-based evidence needed to reconstruct inventory history:
MaterialReceived
↓
MaterialTransferred
↓
MaterialIssuedor, where a problem is identified:
MaterialReceived
↓
MaterialQuarantined
↓
Quality dispositionThe inventory ontology defines five inventory states:
AvailableState
ReservedState
AllocatedState
InTransitState
DepletedStateThese extend the core State concept.
AvailableState means that stock is on hand and free to be consumed or shipped.
For example:
SugarLot4711
HAS_STATE AvailableStateReservedState means that stock has been earmarked for a particular demand but has not yet been fully committed to it.
For example:
SugarLot4711
HAS_STATE ReservedStateAllocatedState means that stock has been committed to a specific demand and is no longer available to other orders.
For example:
SugarLot4711
HAS_STATE AllocatedStateInTransitState means that stock is currently being moved between locations and has not yet reached its destination.
For example:
SugarLot4711
HAS_STATE InTransitStateDepletedState means that the stock of a material at a particular location has been fully consumed.
For example:
SugarLot4711
HAS_STATE DepletedStateA typical inventory lifecycle might look like:
AvailableState
↓
ReservedState
↓
AllocatedState
↓
InTransitState
↓
AvailableState at destinationor:
AvailableState
↓
AllocatedState
↓
DepletedStateIssued is deliberately absent from that sequence. Issuing material to production is an event, MaterialIssued, not a state the lot rests in — it is the occurrence that moves the lot from allocated to depleted. The event records what happened; the state records the condition it left behind.
The exact sequence depends on whether the material is being moved, consumed in production, or shipped to a customer.
The inventory ontology introduces two specialized relationships:
MOVES
STORED_ATThese refine relationships already defined in the core.
The core defines:
Process AFFECTS EntityThe inventory ontology specializes this with:
Process MOVES PhysicalEntityFor example:
SugarPutaway4711
MOVES SugarLot4711
TransferExecution92
MOVES PalletUL-8821MOVES is more precise than the general statement:
TransferExecution92
AFFECTS PalletUL-8821It tells us that the process changes the physical location of the material or unit load.
The ontology therefore defines:
MOVES SPECIALIZES AFFECTSThe core defines:
Entity IS_LOCATED_AT LocationThe inventory ontology specializes this with:
PhysicalEntity STORED_AT LocationFor example:
SugarLot4711
STORED_AT AmbientZone1
PalletUL-8821
STORED_AT BinA-01-03STORED_AT is more precise than IS_LOCATED_AT because it expresses an inventory-storage relationship rather than only a general spatial location.
The ontology therefore defines:
STORED_AT SPECIALIZES IS_LOCATED_ATTogether, the two relationships distinguish between:
Where inventory is currently heldand:
The process that changes where it is heldThe resulting inventory ontology can support a graph such as:
SugarLot4711
INSTANCE_OF MaterialLot
SugarReceipt4711
INSTANCE_OF MaterialReceipt
ReceivingDock1
INSTANCE_OF ReceivingArea
SugarReceipt4711
OCCURS_AT ReceivingDock1
WarehouseOperator17
INSTANCE_OF WarehouseOperator
WarehouseOperator17
PARTICIPATES_IN SugarReceipt4711
MaterialReceivedEvent4711
INSTANCE_OF MaterialReceived
MaterialReceivedEvent4711
OCCURS_DURING SugarReceipt4711
SugarReceipt4711
PRODUCES GoodsReceipt4711The material may then be put away:
SugarPutaway4711
INSTANCE_OF Putaway
Forklift3
INSTANCE_OF MaterialHandler
Forklift3
PARTICIPATES_IN SugarPutaway4711
Forklift3
HAS_CAPABILITY MaterialHandlingCapability
SugarPutaway4711
REQUIRES_CAPABILITY MaterialHandlingCapability
SugarPutaway4711
MOVES SugarLot4711
SugarLot4711
STORED_AT AmbientZone1Later, the material may be reserved and picked for production:
SugarLot4711
HAS_STATE ReservedState
ProductionPickList882
INSTANCE_OF PickList
IngredientPick882
INSTANCE_OF Picking
IngredientPick882
IS_GUIDED_BY ProductionPickList882
IngredientPick882
MOVES SugarLot4711
MaterialIssuedEvent882
INSTANCE_OF MaterialIssued
MaterialIssuedEvent882
OCCURS_DURING IngredientPick882
MaterialIssuedEvent882
CHANGES_STATE SugarLot4711
SugarLot4711
HAS_STATE AllocatedStateThe graph is specific to inventory, but every major concept remains grounded in the core ontology.
For example:
SugarPutaway4711
INSTANCE_OF Putaway
SUBCLASS_OF InventoryProcess
SUBCLASS_OF Processand:
SugarLot4711
INSTANCE_OF MaterialLot
SUBCLASS_OF PhysicalEntityThis allows applications and AI agents to move between detailed inventory facts and the general manufacturing semantics shared across domains.
One of the main benefits of extending a common core ontology is that inventory does not remain isolated from production and quality.
A material lot may be represented once and then participate in several domain processes.
For example:
SugarLot4711
STORED_AT AmbientZone1describes its inventory context.
The production ontology may then show:
SugarLot4711
PARTICIPATES_IN MixingExecution882
SugarLot4711
PLAYS_ROLE InputThe quality ontology may show:
SamplingExecution71
INSPECTS SugarLot4711
SugarLot4711
HAS_STATE ApprovedStateThe inventory ontology may then determine whether that same material is available for issue:
SugarLot4711
HAS_STATE AvailableStateAn AI agent can therefore traverse across domains to answer questions such as:
Which approved material lots are currently available, stored in the correct zone, and sufficient to satisfy the next production order?
The agent can connect:
Quality status
↓
Inventory availability
↓
Storage location
↓
Production demandThis cross-domain reasoning is one of the strongest benefits of extending a shared manufacturing core.
The inventory ontology extends the core manufacturing ontology with the concepts needed to describe how materials are received, stored, moved, counted, issued, and dispatched.
It introduces vocabulary for:
It also introduces the specialized relationships:
MOVES
STORED_ATThese refine the general core relationships AFFECTS and IS_LOCATED_AT.
The central principle remains:
The core ontology defines the shared structure of manufacturing operations. The inventory ontology extends that structure with the concepts and relationships required to account for materials, control their movement, and determine whether they are available to production or dispatch.
This allows inventory to become more detailed without separating it from production, quality, maintenance, or the rest of the manufacturing knowledge graph.
New architecture guides, implementation tutorials and use-case blueprints, delivered as they’re published.





