Skip to content

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

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

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