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
Slots
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
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