Class: ToysCategory
Mixin for toys and games slots and UC rules. Applied to ToysItem via mixins: [ToysCategory]. Age grading follows EU Toy Safety Directive 2009/48/EC. The small parts rule (uc-toys-small-parts-under3-block) directly implements the Directive's choking hazard requirement.
URI: inkind_knowledge_repo:ToysCategory
classDiagram
class ToysCategory
click ToysCategory href "../ToysCategory/"
CategoryMixin <|-- ToysCategory
click CategoryMixin href "../CategoryMixin/"
ToysCategory <|-- ToysItem
click ToysItem href "../ToysItem/"
ToysCategory : age_range
ToysCategory --> "0..1" ToyAgeRangeEnum : age_range
click ToyAgeRangeEnum href "../ToyAgeRangeEnum/"
ToysCategory : condition_grade
ToysCategory --> "0..1" UsedConditionGradeEnum : condition_grade
click UsedConditionGradeEnum href "../UsedConditionGradeEnum/"
ToysCategory : has_small_parts
ToysCategory : is_set_complete
ToysCategory : material
ToysCategory --> "0..1" ToysMaterialEnum : material
click ToysMaterialEnum href "../ToysMaterialEnum/"
ToysCategory : subcategory
ToysCategory --> "1" ToysSubcategoryEnum : subcategory
click ToysSubcategoryEnum href "../ToysSubcategoryEnum/"
Inheritance
- CategoryMixin
- ToysCategory
Class Properties
| Property | Value |
|---|---|
| Mixin | Yes |
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| subcategory | 1 ToysSubcategoryEnum |
Subcategory within the item type | direct |
| material | 0..1 ToysMaterialEnum |
Primary construction material | direct |
| age_range | 0..1 ToyAgeRangeEnum |
Age suitability | direct |
| is_set_complete | 0..1 Boolean |
Whether all components of the set are present | direct |
| has_small_parts | 0..1 Boolean |
Whether the item contains small parts posing a choking hazard | direct |
| condition_grade | 0..1 UsedConditionGradeEnum |
Observed wear/quality grade at sorting time | direct |
Mixin Usage
| mixed into | description |
|---|---|
| ToysItem | Toys and games |
Rules
uc-toys-small-parts-under3-block
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'has_small_parts': {'equals_string': 'true'}} |
{'age_range': {'any_of': [{'equals_string': 'age_3_to_6'}, {'equals_string': 'age_6_to_12'}, {'equals_string': 'age_12_plus'}, {'equals_string': 'adult'}]}} |
uc-toys-incomplete-set-warn
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'is_set_complete': {'equals_string': 'false'}} |
{'sorting_notes': {'required': True}} |
See Also
- http://www.productontology.org/id/Toy
- https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32009L0048
Identifier and Mapping Information
Annotations
| property | value |
|---|---|
| completeness_minimal | subcategory, usage |
| completeness_standard | subcategory, age_range, is_set_complete, usage, condition_grade |
| completeness_detailed | subcategory, material, age_range, is_set_complete, has_small_parts, usage, condition_grade |
| coicop_division | 09.3 |
| regulatory_reference | EU Toy Safety Directive 2009/48/EC; ASTM F963 |
Schema Source
- from schema: https://inkind-at.github.io/inkind-knowledge-repo
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | inkind_knowledge_repo:ToysCategory |
| native | inkind_knowledge_repo:ToysCategory |
LinkML Source
Direct
name: ToysCategory
annotations:
completeness_minimal:
tag: completeness_minimal
value: subcategory, usage
completeness_standard:
tag: completeness_standard
value: subcategory, age_range, is_set_complete, usage, condition_grade
completeness_detailed:
tag: completeness_detailed
value: subcategory, material, age_range, is_set_complete, has_small_parts, usage,
condition_grade
coicop_division:
tag: coicop_division
value: '09.3'
regulatory_reference:
tag: regulatory_reference
value: EU Toy Safety Directive 2009/48/EC; ASTM F963
description: 'Mixin for toys and games slots and UC rules. Applied to ToysItem via
mixins: [ToysCategory]. Age grading follows EU Toy Safety Directive 2009/48/EC.
The small parts rule (uc-toys-small-parts-under3-block) directly implements the
Directive''s choking hazard requirement.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Toy
- https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32009L0048
is_a: CategoryMixin
mixin: true
slots:
- subcategory
- material
- age_range
- is_set_complete
- has_small_parts
- condition_grade
slot_usage:
subcategory:
name: subcategory
range: ToysSubcategoryEnum
required: true
age_range:
name: age_range
range: ToyAgeRangeEnum
required: false
material:
name: material
description: Primary construction material. Optional — detailed completeness tier.
Operationally relevant under EU Toy Safety Directive 2009/48/EC Annex II (chemical
restrictions in toy materials). See ToysMaterialEnum for full vocabulary, ontology
grounding, and safety rationale.
range: ToysMaterialEnum
required: false
condition_grade:
name: condition_grade
range: UsedConditionGradeEnum
required: false
rules:
- preconditions:
slot_conditions:
has_small_parts:
name: has_small_parts
equals_string: 'true'
postconditions:
slot_conditions:
age_range:
name: age_range
any_of:
- equals_string: age_3_to_6
- equals_string: age_6_to_12
- equals_string: age_12_plus
- equals_string: adult
description: 'Toys with small parts must not be assigned to age_0_to_3. Implements
EU Toy Safety Directive 2009/48/EC choking hazard requirement (also ASTM F963
for US-market toys). action: block.'
title: uc-toys-small-parts-under3-block
- preconditions:
slot_conditions:
is_set_complete:
name: is_set_complete
equals_string: 'false'
postconditions:
slot_conditions:
sorting_notes:
name: sorting_notes
required: true
description: 'Incomplete sets require sorter confirmation — missing pieces may render
the toy unusable or unsafe for its intended purpose. action: warn — sorting_notes
required.'
title: uc-toys-incomplete-set-warn
Induced
name: ToysCategory
annotations:
completeness_minimal:
tag: completeness_minimal
value: subcategory, usage
completeness_standard:
tag: completeness_standard
value: subcategory, age_range, is_set_complete, usage, condition_grade
completeness_detailed:
tag: completeness_detailed
value: subcategory, material, age_range, is_set_complete, has_small_parts, usage,
condition_grade
coicop_division:
tag: coicop_division
value: '09.3'
regulatory_reference:
tag: regulatory_reference
value: EU Toy Safety Directive 2009/48/EC; ASTM F963
description: 'Mixin for toys and games slots and UC rules. Applied to ToysItem via
mixins: [ToysCategory]. Age grading follows EU Toy Safety Directive 2009/48/EC.
The small parts rule (uc-toys-small-parts-under3-block) directly implements the
Directive''s choking hazard requirement.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Toy
- https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:32009L0048
is_a: CategoryMixin
mixin: true
slot_usage:
subcategory:
name: subcategory
range: ToysSubcategoryEnum
required: true
age_range:
name: age_range
range: ToyAgeRangeEnum
required: false
material:
name: material
description: Primary construction material. Optional — detailed completeness tier.
Operationally relevant under EU Toy Safety Directive 2009/48/EC Annex II (chemical
restrictions in toy materials). See ToysMaterialEnum for full vocabulary, ontology
grounding, and safety rationale.
range: ToysMaterialEnum
required: false
condition_grade:
name: condition_grade
range: UsedConditionGradeEnum
required: false
attributes:
subcategory:
name: subcategory
annotations:
label_en:
tag: label_en
value: Subcategory
label_de:
tag: label_de
value: Unterkategorie
description: Subcategory within the item type. Overridden via slot_usage in each
concrete DonationItem subclass to a category-specific enum.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: subcategory
owner: ToysCategory
domain_of:
- ClothingCategory
- AccessoriesCategory
- FootwearCategory
- FurnitureCategory
- BeddingTextilesCategory
- HouseholdCategory
- ElectronicsCategory
- ToysCategory
- SportsCategory
- BooksCategory
- StationeryCategory
- PersonalCareCategory
- MobilityAidsCategory
- BabyInfantCategory
- AnyValue
range: ToysSubcategoryEnum
required: true
material:
name: material
annotations:
label_en:
tag: label_en
value: Material
label_de:
tag: label_de
value: Material
description: Primary construction material. Optional — detailed completeness tier.
Operationally relevant under EU Toy Safety Directive 2009/48/EC Annex II (chemical
restrictions in toy materials). See ToysMaterialEnum for full vocabulary, ontology
grounding, and safety rationale.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: material
owner: ToysCategory
domain_of:
- ClothingCategory
- AccessoriesCategory
- FootwearCategory
- FurnitureCategory
- BeddingTextilesCategory
- HouseholdCategory
- ToysCategory
- CategoryMixin
range: ToysMaterialEnum
required: false
age_range:
name: age_range
annotations:
label_en:
tag: label_en
value: Age Range
label_de:
tag: label_de
value: Altersbereich
description: "Age suitability. Range overridden per class:\n ToysItem → ToyAgeRangeEnum\n\
\ BooksItem → BookAgeRangeEnum"
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: age_range
owner: ToysCategory
domain_of:
- ToysCategory
- BooksCategory
range: ToyAgeRangeEnum
required: false
is_set_complete:
name: is_set_complete
annotations:
label_en:
tag: label_en
value: Set Complete
label_de:
tag: label_de
value: Set vollständig
description: Whether all components of the set are present. Optional — standard
completeness tier.
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: is_set_complete
owner: ToysCategory
domain_of:
- BeddingTextilesCategory
- HouseholdCategory
- ToysCategory
- SportsCategory
- StationeryCategory
range: boolean
has_small_parts:
name: has_small_parts
annotations:
label_en:
tag: label_en
value: Has Small Parts
label_de:
tag: label_de
value: Enthält Kleinteile
description: 'Whether the item contains small parts posing a choking hazard. UC
block: has_small_parts=true → age_range must exclude age_0_to_3. Implements
EU Toy Safety Directive 2009/48/EC.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
rank: 1000
alias: has_small_parts
owner: ToysCategory
domain_of:
- ToysCategory
range: boolean
condition_grade:
name: condition_grade
annotations:
label_en:
tag: label_en
value: Wear Grade
label_de:
tag: label_de
value: Abnutzungsgrad
description: "Observed wear/quality grade at sorting time. Grounded in schema:OfferItemCondition\
\ and schema:itemCondition. Applied to wear-graded categories: clothing, accessories,\
\ footwear, books, stationery, household, toys, general sports equipment.\n\
Required at sorted state regardless of usage:\n new item, no defects \
\ → like_new\n new item, manufacturing defect → fair or poor\n used item,\
\ minimal wear → like_new or good\nSorters record what they observe,\
\ not what the label says.\nCategories using structured assessment_result enums\
\ instead (furniture, electronics, bedding, protective sports gear, mobility\
\ aids, baby equipment) do NOT declare this slot."
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- schema:OfferItemCondition
- schema:LikeNewCondition
- schema:DamagedCondition
- schema:itemCondition
rank: 1000
alias: condition_grade
owner: ToysCategory
domain_of:
- ClothingCategory
- AccessoriesCategory
- FootwearCategory
- HouseholdCategory
- ToysCategory
- SportsCategory
- BooksCategory
- StationeryCategory
- BabyInfantCategory
- OtherItem
range: UsedConditionGradeEnum
required: false
rules:
- preconditions:
slot_conditions:
has_small_parts:
name: has_small_parts
equals_string: 'true'
postconditions:
slot_conditions:
age_range:
name: age_range
any_of:
- equals_string: age_3_to_6
- equals_string: age_6_to_12
- equals_string: age_12_plus
- equals_string: adult
description: 'Toys with small parts must not be assigned to age_0_to_3. Implements
EU Toy Safety Directive 2009/48/EC choking hazard requirement (also ASTM F963
for US-market toys). action: block.'
title: uc-toys-small-parts-under3-block
- preconditions:
slot_conditions:
is_set_complete:
name: is_set_complete
equals_string: 'false'
postconditions:
slot_conditions:
sorting_notes:
name: sorting_notes
required: true
description: 'Incomplete sets require sorter confirmation — missing pieces may render
the toy unusable or unsafe for its intended purpose. action: warn — sorting_notes
required.'
title: uc-toys-incomplete-set-warn