Skip to content

Class: SportsCategory

Mixin for sports equipment slots and UC rules. Applied to SportsItem via mixins: [SportsCategory]. Dual-track assessment: assessment_result for protective_gear, condition_grade for all other subcategories. See schema description for full rationale.

URI: inkind_knowledge_repo:SportsCategory

 classDiagram
    class SportsCategory
    click SportsCategory href "../SportsCategory/"
      CategoryMixin <|-- SportsCategory
        click CategoryMixin href "../CategoryMixin/"


      SportsCategory <|-- SportsItem
        click SportsItem href "../SportsItem/"


      SportsCategory : assessment_result





        SportsCategory --> "0..1" SportsProtectiveAssessmentEnum : assessment_result
        click SportsProtectiveAssessmentEnum href "../SportsProtectiveAssessmentEnum/"



      SportsCategory : condition_grade





        SportsCategory --> "0..1" UsedConditionGradeEnum : condition_grade
        click UsedConditionGradeEnum href "../UsedConditionGradeEnum/"



      SportsCategory : demographic





        SportsCategory --> "0..1" DemographicEnum : demographic
        click DemographicEnum href "../DemographicEnum/"



      SportsCategory : is_set_complete

      SportsCategory : material

      SportsCategory : sport_type

      SportsCategory : subcategory





        SportsCategory --> "1" SportsSubcategoryEnum : subcategory
        click SportsSubcategoryEnum href "../SportsSubcategoryEnum/"



Inheritance

Class Properties

Property Value
Mixin Yes

Slots

Name Cardinality and Range Description Inheritance
subcategory 1
SportsSubcategoryEnum
Subcategory within the item type direct
assessment_result 0..1
SportsProtectiveAssessmentEnum
Structured safety assessment for protective_gear subcategory only direct
condition_grade 0..1
UsedConditionGradeEnum
Wear grade for general sports equipment (non-protective-gear) direct
sport_type 0..1
String
Sport or activity type (free text, e direct
demographic 0..1
DemographicEnum
Age/gender demographic (from DemographicEnum in clothing direct
is_set_complete 0..1
Boolean
Whether all components of the set are present direct
material 0..1
String
Primary material composition CategoryMixin

Mixin Usage

mixed into description
SportsItem Sports and fitness equipment

Rules

uc-sports-protective-gear-assessment-required

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'subcategory': {'equals_string': 'protective_gear'}} {'assessment_result': {'required': True}}

uc-sports-protective-gear-unsafe-block

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'subcategory': {'equals_string': 'protective_gear'}, 'assessment_result': {'equals_string': 'unsafe_do_not_redistribute'}} {'lifecycle_state': {'none_of': [{'equals_string': 'stored'}, {'equals_string': 'distributed'}]}}

uc-sports-protective-gear-post-impact-warn

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'subcategory': {'equals_string': 'protective_gear'}, 'assessment_result': {'equals_string': 'unknown_impact_history'}} {'sorting_notes': {'required': True}}

uc-sports-general-condition-grade-required

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'subcategory': {'none_of': [{'equals_string': 'protective_gear'}]}} {'condition_grade': {'required': True}}

uc-sports-general-poor-warn

Rule Applied Preconditions Postconditions Elseconditions
slot_conditions {'subcategory': {'none_of': [{'equals_string': 'protective_gear'}]}, 'condition_grade': {'equals_string': 'poor'}} {'sorting_notes': {'required': True}}

See Also

Identifier and Mapping Information

Annotations

property value
completeness_minimal subcategory, usage
completeness_standard subcategory, condition_grade, usage
completeness_detailed subcategory, sport_type, demographic, condition_grade, is_set_complete, usage
protective_gear_standard subcategory, assessment_result, usage
coicop_division 09.4
bicycle_note Bicycles are in this category by domain convention. COICOP assigns bicycles to Division 07 (Transport).

Schema Source

  • from schema: https://inkind-at.github.io/inkind-knowledge-repo

Mappings

Mapping Type Mapped Value
self inkind_knowledge_repo:SportsCategory
native inkind_knowledge_repo:SportsCategory

LinkML Source

Direct

name: SportsCategory
annotations:
  completeness_minimal:
    tag: completeness_minimal
    value: subcategory, usage
  completeness_standard:
    tag: completeness_standard
    value: subcategory, condition_grade, usage
  completeness_detailed:
    tag: completeness_detailed
    value: subcategory, sport_type, demographic, condition_grade, is_set_complete,
      usage
  protective_gear_standard:
    tag: protective_gear_standard
    value: subcategory, assessment_result, usage
  coicop_division:
    tag: coicop_division
    value: '09.4'
  bicycle_note:
    tag: bicycle_note
    value: Bicycles are in this category by domain convention. COICOP assigns bicycles
      to Division 07 (Transport).
description: 'Mixin for sports equipment slots and UC rules. Applied to SportsItem
  via mixins: [SportsCategory]. Dual-track assessment: assessment_result for protective_gear,
  condition_grade for all other subcategories. See schema description for full rationale.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Sporting_goods
is_a: CategoryMixin
mixin: true
slots:
- subcategory
- assessment_result
- condition_grade
- sport_type
- demographic
- is_set_complete
slot_usage:
  subcategory:
    name: subcategory
    range: SportsSubcategoryEnum
    required: true
  assessment_result:
    name: assessment_result
    description: Structured safety assessment for protective_gear subcategory only.
      Required when subcategory = protective_gear; absent otherwise.
    range: SportsProtectiveAssessmentEnum
    required: false
  condition_grade:
    name: condition_grade
    description: Wear grade for general sports equipment (non-protective-gear). Required
      when subcategory ≠ protective_gear.
    range: UsedConditionGradeEnum
    required: false
  demographic:
    name: demographic
    description: Age/gender demographic (from DemographicEnum in clothing.yaml). Optional
      — detailed completeness tier for sports equipment.
    range: DemographicEnum
    required: false
rules:
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        equals_string: protective_gear
  postconditions:
    slot_conditions:
      assessment_result:
        name: assessment_result
        required: true
  description: Protective gear requires structured safety assessment regardless of
    usage — new protective gear can have manufacturing defects.
  title: uc-sports-protective-gear-assessment-required
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        equals_string: protective_gear
      assessment_result:
        name: assessment_result
        equals_string: unsafe_do_not_redistribute
  postconditions:
    slot_conditions:
      lifecycle_state:
        name: lifecycle_state
        none_of:
        - equals_string: stored
        - equals_string: distributed
  description: 'Protective gear assessed as unsafe must not be redistributed. action:
    block.'
  title: uc-sports-protective-gear-unsafe-block
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        equals_string: protective_gear
      assessment_result:
        name: assessment_result
        equals_string: unknown_impact_history
  postconditions:
    slot_conditions:
      sorting_notes:
        name: sorting_notes
        required: true
  description: 'Protective gear with unknown impact history requires confirmation.
    action: warn  sorting_notes required.'
  title: uc-sports-protective-gear-post-impact-warn
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        none_of:
        - equals_string: protective_gear
  postconditions:
    slot_conditions:
      condition_grade:
        name: condition_grade
        required: true
  description: General sports equipment requires condition_grade.
  title: uc-sports-general-condition-grade-required
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        none_of:
        - equals_string: protective_gear
      condition_grade:
        name: condition_grade
        equals_string: poor
  postconditions:
    slot_conditions:
      sorting_notes:
        name: sorting_notes
        required: true
  description: 'General sports equipment in poor condition requires confirmation.
    action: warn  sorting_notes required.'
  title: uc-sports-general-poor-warn

Induced

name: SportsCategory
annotations:
  completeness_minimal:
    tag: completeness_minimal
    value: subcategory, usage
  completeness_standard:
    tag: completeness_standard
    value: subcategory, condition_grade, usage
  completeness_detailed:
    tag: completeness_detailed
    value: subcategory, sport_type, demographic, condition_grade, is_set_complete,
      usage
  protective_gear_standard:
    tag: protective_gear_standard
    value: subcategory, assessment_result, usage
  coicop_division:
    tag: coicop_division
    value: '09.4'
  bicycle_note:
    tag: bicycle_note
    value: Bicycles are in this category by domain convention. COICOP assigns bicycles
      to Division 07 (Transport).
description: 'Mixin for sports equipment slots and UC rules. Applied to SportsItem
  via mixins: [SportsCategory]. Dual-track assessment: assessment_result for protective_gear,
  condition_grade for all other subcategories. See schema description for full rationale.'
from_schema: https://inkind-at.github.io/inkind-knowledge-repo
see_also:
- http://www.productontology.org/id/Sporting_goods
is_a: CategoryMixin
mixin: true
slot_usage:
  subcategory:
    name: subcategory
    range: SportsSubcategoryEnum
    required: true
  assessment_result:
    name: assessment_result
    description: Structured safety assessment for protective_gear subcategory only.
      Required when subcategory = protective_gear; absent otherwise.
    range: SportsProtectiveAssessmentEnum
    required: false
  condition_grade:
    name: condition_grade
    description: Wear grade for general sports equipment (non-protective-gear). Required
      when subcategory ≠ protective_gear.
    range: UsedConditionGradeEnum
    required: false
  demographic:
    name: demographic
    description: Age/gender demographic (from DemographicEnum in clothing.yaml). Optional
      — detailed completeness tier for sports equipment.
    range: DemographicEnum
    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: SportsCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - FurnitureCategory
    - BeddingTextilesCategory
    - HouseholdCategory
    - ElectronicsCategory
    - ToysCategory
    - SportsCategory
    - BooksCategory
    - StationeryCategory
    - PersonalCareCategory
    - MobilityAidsCategory
    - BabyInfantCategory
    - AnyValue
    range: SportsSubcategoryEnum
    required: true
  assessment_result:
    name: assessment_result
    annotations:
      label_en:
        tag: label_en
        value: Assessment Result
      label_de:
        tag: label_de
        value: Bewertungsergebnis
    description: Structured safety assessment for protective_gear subcategory only.
      Required when subcategory = protective_gear; absent otherwise.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - schema:OfferItemCondition
    rank: 1000
    alias: assessment_result
    owner: SportsCategory
    domain_of:
    - FurnitureCategory
    - BeddingTextilesCategory
    - ElectronicsCategory
    - SportsCategory
    - MobilityAidsCategory
    - BabyInfantCategory
    range: SportsProtectiveAssessmentEnum
    required: false
  condition_grade:
    name: condition_grade
    annotations:
      label_en:
        tag: label_en
        value: Wear Grade
      label_de:
        tag: label_de
        value: Abnutzungsgrad
    description: Wear grade for general sports equipment (non-protective-gear). Required
      when subcategory ≠ protective_gear.
    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: SportsCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - HouseholdCategory
    - ToysCategory
    - SportsCategory
    - BooksCategory
    - StationeryCategory
    - BabyInfantCategory
    - OtherItem
    range: UsedConditionGradeEnum
    required: false
  sport_type:
    name: sport_type
    description: Sport or activity type (free text, e.g. "football", "cycling").
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: sport_type
    owner: SportsCategory
    domain_of:
    - SportsCategory
    range: string
  demographic:
    name: demographic
    annotations:
      label_en:
        tag: label_en
        value: Demographic
      label_de:
        tag: label_de
        value: Demografie
    description: Age/gender demographic (from DemographicEnum in clothing.yaml). Optional
      — detailed completeness tier for sports equipment.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    see_also:
    - cpi:designatedFor
    - schema:WearableSizeGroupBaby
    - schema:WearableSizeGroupChildrens
    - schema:WearableSizeGroupAdult
    rank: 1000
    alias: demographic
    owner: SportsCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - SportsCategory
    - AnyValue
    range: DemographicEnum
    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: SportsCategory
    domain_of:
    - BeddingTextilesCategory
    - HouseholdCategory
    - ToysCategory
    - SportsCategory
    - StationeryCategory
    range: boolean
  material:
    name: material
    annotations:
      label_en:
        tag: label_en
        value: Material
      label_de:
        tag: label_de
        value: Material
    description: Primary material composition. Range overridden per class.
    from_schema: https://inkind-at.github.io/inkind-knowledge-repo
    rank: 1000
    alias: material
    owner: SportsCategory
    domain_of:
    - ClothingCategory
    - AccessoriesCategory
    - FootwearCategory
    - FurnitureCategory
    - BeddingTextilesCategory
    - HouseholdCategory
    - ToysCategory
    - CategoryMixin
    range: string
rules:
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        equals_string: protective_gear
  postconditions:
    slot_conditions:
      assessment_result:
        name: assessment_result
        required: true
  description: Protective gear requires structured safety assessment regardless of
    usage — new protective gear can have manufacturing defects.
  title: uc-sports-protective-gear-assessment-required
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        equals_string: protective_gear
      assessment_result:
        name: assessment_result
        equals_string: unsafe_do_not_redistribute
  postconditions:
    slot_conditions:
      lifecycle_state:
        name: lifecycle_state
        none_of:
        - equals_string: stored
        - equals_string: distributed
  description: 'Protective gear assessed as unsafe must not be redistributed. action:
    block.'
  title: uc-sports-protective-gear-unsafe-block
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        equals_string: protective_gear
      assessment_result:
        name: assessment_result
        equals_string: unknown_impact_history
  postconditions:
    slot_conditions:
      sorting_notes:
        name: sorting_notes
        required: true
  description: 'Protective gear with unknown impact history requires confirmation.
    action: warn  sorting_notes required.'
  title: uc-sports-protective-gear-post-impact-warn
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        none_of:
        - equals_string: protective_gear
  postconditions:
    slot_conditions:
      condition_grade:
        name: condition_grade
        required: true
  description: General sports equipment requires condition_grade.
  title: uc-sports-general-condition-grade-required
- preconditions:
    slot_conditions:
      subcategory:
        name: subcategory
        none_of:
        - equals_string: protective_gear
      condition_grade:
        name: condition_grade
        equals_string: poor
  postconditions:
    slot_conditions:
      sorting_notes:
        name: sorting_notes
        required: true
  description: 'General sports equipment in poor condition requires confirmation.
    action: warn  sorting_notes required.'
  title: uc-sports-general-poor-warn