# ItemTaxonomyAssignment

## Description

ItemTaxonomyAssignment is a join entity that links an Item to a TaxonomyNode, enabling many-to-many classification. A single item can belong to multiple taxonomy branches simultaneously (e.g., both "Electronics > Smartphones" and "Gift Ideas > Tech Gifts"), and a single taxonomy node can have multiple items assigned.

## Domain Model Definitions

### Model type

Standard

### Command Definitions

- [assignItemToTaxonomy](../command/AssignItemToTaxonomy.md) - Link an item to a taxonomy node
- [removeItemFromTaxonomy](../command/RemoveItemFromTaxonomy.md) - Remove a link between an item and a taxonomy node

### Query Definitions

- [GetItemTaxonomyAssignment](../query/GetItemTaxonomyAssignment.md) - Retrieve an assignment by itemId and taxonomyNodeId
- [GetTaxonomyNodeAssignments](../query/GetTaxonomyNodeAssignments.md) - Retrieve item assignments for a given taxonomy node

### Models

- ItemTaxonomyAssignment

### Invariants

- The combination of item and taxonomy node must be unique (no duplicate assignments)
- The referenced item must exist
- The referenced taxonomy node must exist

### Relationships

- **References Item**: Each assignment references exactly one Item
- **References TaxonomyNode**: Each assignment references exactly one TaxonomyNode
