@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix gs1: <https://ref.gs1.org/voc/> .
@prefix euelec: <https://ref.openepcis.io/extensions/eu/electronics/> .
@prefix oec: <https://ref.openepcis.io/extensions/common/core/> .
# UNTP namespace references for semantic alignment
@prefix untp: <https://vocabulary.uncefact.org/untp/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix schema: <https://schema.org/> .
# DPP Keystone (dpp-keystone.org), a peer DPP profile this module aligns with.
@prefix dppk: <https://dpp-keystone.org/spec/v2/terms#> .
@prefix vann: <http://purl.org/vocab/vann/> .
# EU SEMICeu Core Vocabularies (peer Layer 1): see extensions/common/interop/docs/SEMIC_CORE_VOCABULARIES.md
@prefix cv:    <http://data.europa.eu/m8g/> .
@prefix cccev: <http://data.europa.eu/m8g/> .

# =============================================================================
# Ontology Declaration
# =============================================================================

<https://ref.openepcis.io/extensions/eu/electronics/>
    a owl:Ontology ;
    dcterms:title "OpenEPCIS Electronics Vocabulary"@en ;
    dcterms:description """Electronics-specific vocabulary extending GS1 Web Vocabulary for Digital Product Passports.

OpenEPCIS DPP-Ready: The Universal DPP Platform - harmonizing GS1, UNTP, and CIRPASS-2 standards.

This vocabulary provides comprehensive coverage for electronic and electrical equipment under:
- EU ESPR 2024/1781 framework (computers, servers, smartphones, tablets)
- French Repairability Index (Indice de Réparabilité) - 5 criteria, 100-point scoring
- EU Right to Repair 2025 - A-E repairability grades
- WEEE Directive 2012/19/EU - 6 equipment categories
- RoHS Directive 2011/65/EU - Restricted hazardous substances
- EU Energy Labeling 2019/2021 - A-G efficiency classes, EPREL registry
- CIRPASS-2 electronics pilots - Multi-component DPP tracking

Standards Alignment:
- GS1 Web Vocabulary (native foundation)
- UN Transparency Protocol (UNTP) alignment via SKOS mapping (skos:exactMatch / skos:closeMatch)
- IEC 62474 material declarations
- IEC 82474-1:2025 material efficiency
- ISO/IEC 12207 software lifecycle
- ISO/IEC 14764 software maintenance

GS1 Properties to Use (not redefined here):
- gs1:gtin - Global Trade Item Number
- gs1:productName - Product name
- gs1:brand - Brand information
- gs1:productionDate - Manufacturing date
- gs1:countryOfOrigin - Country of manufacture
- gs1:manufacturer - Manufacturer organization
- gs1:warranty / gs1:WarrantyPromise - Warranty information
- gs1:certification / gs1:CertificationDetails - Certifications
- gs1:regulatoryInformation - Regulatory compliance (RoHS, CE, etc.)
- gs1:netWeight / gs1:grossWeight - Product weight

EPCIS 2.0 Extension Declaration:
GS1-Extensions: euelec=https://ref.openepcis.io/extensions/eu/electronics/

Extension Governance:
This vocabulary extends GS1 Web Vocabulary only where no equivalent term exists.
Each extension term includes dcterms:source, skos:note, and rdfs:seeAlso where applicable.
All ratio/fraction properties use 0-1 decimal scale (e.g., 0.45 = 45%)."""@en ;
    dcterms:creator "OpenEPCIS" ;
    dcterms:license <https://www.apache.org/licenses/LICENSE-2.0> ;
    dcterms:created "2025-02-02"^^xsd:date ;
    dcterms:modified "2026-06-19"^^xsd:date ;
    owl:versionInfo "0.9.7" ;
    owl:versionIRI <https://ref.openepcis.io/extensions/eu/electronics/0.9.7> ;
    vann:preferredNamespacePrefix "euelec" ;
    vann:preferredNamespaceUri "https://ref.openepcis.io/extensions/eu/electronics/" ;
    rdfs:seeAlso <https://ref.gs1.org/voc/> ;
    rdfs:seeAlso <https://ref.gs1.org/voc/CertificationDetails> ;
    rdfs:seeAlso <https://ref.gs1.org/standards/epcis/> ;
    rdfs:seeAlso <https://ref.gs1.org/standards/dpp/> ;
    rdfs:seeAlso <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    rdfs:seeAlso <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    rdfs:seeAlso <https://uncefact.github.io/spec-untp/> ;
    owl:imports <https://ref.gs1.org/voc/> ;
    owl:imports <https://ref.openepcis.io/extensions/common/core/> ;
    owl:imports <http://data.europa.eu/m8g/> .

# =============================================================================
# PART 1: CORE CLASSES
# =============================================================================

euelec:RepairabilityIndex
    a owl:Class ;
    rdfs:label "Repairability Index"@en ;
    rdfs:comment """French Repairability Index (Indice de Réparabilité) assessment using the official
5-criteria, 100-point scoring methodology. The score is displayed to consumers as 0-10 scale ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en .

Five Criteria (20 points each):
1. Documentation - Availability of repair documentation
2. Disassembly - Ease of disassembly and tools required
3. Spare Parts Availability - Duration and access to spare parts
4. Spare Parts Pricing - Ratio of part prices to product price
5. Product Specific - Category-specific criteria (e.g., software support for smartphones)

Total score (0-100) is converted to display score (0-10) for consumer labeling."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    rdfs:seeAlso oec:RepairabilityInfo ;
    skos:note """Required extension: The French Repairability Index uses a specific 5-criteria methodology
that is not available in GS1 Web Vocabulary. Links to oec:RepairabilityInfo for base patterns."""@en .

euelec:RepairCriterion
    a owl:Class ;
    rdfs:label "Repair Criterion"@en ;
    rdfs:comment "An individual criterion score within the French Repairability Index."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    rdfs:subClassOf cccev:Criterion ;
    rdfs:seeAlso cccev:Criterion ;
    rdfs:seeAlso cccev:Constraint ;
    skos:note "A RepairCriterion is a specific kind of cccev:Criterion (EU SEMICeu CCCEV): the five Repairability-Index criteria (Documentation, Disassembly, SparePartsAvailability, SparePartsPricing, ProductSpecific) each scored against an InformationConcept within the broader Repairability Requirement. Modelled as rdfs:subClassOf rather than owl:equivalentClass because cccev:Criterion is broader and covers any conformity-evaluation criterion. CCCEV is the EU foundation that JTC 24 / CIRPASS-2 lean on for conformity / scoring."@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:narrowMatch cv:Criterion ;
    rdfs:seeAlso untp:Criterion ;
    rdfs:seeAlso schema:Rating .

euelec:SoftwareSupport
    a owl:Class ;
    rdfs:label "Software Support"@en ;
    rdfs:comment """Operating system and firmware support information including update periods,
security patch availability, and end-of-support dates. Critical for electronics lifecycle
and repairability assessments per ESPR delegated acts.

Designed following ISO/IEC 12207 (software lifecycle) and ISO/IEC 14764 (software maintenance)
patterns as a potential contribution to UNTP v1.0+."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    rdfs:seeAlso <https://www.iso.org/standard/43447.html> ;
    rdfs:seeAlso dppk:softwareUpdatePolicy ;
    skos:broadMatch dppk:softwareUpdatePolicy ;
    skos:note """Software lifecycle tracking per ISO/IEC 12207. Designed as potential UNTP extension.
UNTP v0.6 does not yet include software support properties, making this a candidate for
contribution to UNTP v1.0+. Aligns approximately with DPP Keystone dppk:softwareUpdatePolicy."""@en .

euelec:EnergyEfficiency
    a owl:Class ;
    rdfs:label "Energy Efficiency"@en ;
    rdfs:comment """EU Energy Label data including efficiency class (A-G), power consumption metrics,
and EPREL registry information per EU Energy Labeling Regulation 2019/2021."""@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    rdfs:seeAlso oec:PerformanceInfo ;
    skos:note """Required extension: GS1 provides performance information patterns but lacks specific
EU Energy Label properties (A-G classes, EPREL registration) required for electronics."""@en ;
    rdfs:seeAlso oec:EnergyEfficiency ;
    skos:narrowMatch schema:EnergyConsumptionDetails ;
    skos:broadMatch schema:EUEnergyEfficiencyEnumeration ;
    skos:narrowMatch schema:EnergyEfficiencyEnumeration .

euelec:ComponentBOM
    a owl:Class ;
    rdfs:label "Component Bill of Materials"@en ;
    rdfs:comment """Bill of Materials for multi-component electronics supporting CIRPASS-2 nested DPP
requirements. Links individual components to their own Digital Product Passports."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://cirpassproject.eu/> ;
    skos:note """Required extension: CIRPASS-2 electronics pilots require multi-component tracking
where each component (battery, display, etc.) may have its own DPP. Aligned with UNTP
linkedProduct pattern."""@en.

euelec:WEEECompliance
    a owl:Class ;
    rdfs:label "WEEE Compliance"@en ;
    rdfs:comment """Waste Electrical and Electronic Equipment (WEEE) Directive compliance information
including equipment category, registration number, and collection scheme."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> ;
    rdfs:seeAlso gs1:regulatoryInformation ;
    rdfs:seeAlso oec:CircularityPerformance ;
    skos:note """Required extension: WEEE has 6 specific equipment categories not in GS1 vocabulary.
Use gs1:regulatoryInformation for general compliance, this class for WEEE-specific data."""@en;
    rdfs:seeAlso gs1:RegulatoryInformation ;
    skos:narrowMatch gs1:RegulatoryInformation .

euelec:RoHSCompliance
    a owl:Class ;
    rdfs:label "RoHS Compliance"@en ;
    rdfs:comment """Restriction of Hazardous Substances (RoHS) Directive compliance information
including compliance status and applicable exemptions."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2011/65/eu> ;
    rdfs:seeAlso gs1:regulatoryInformation ;
    rdfs:seeAlso oec:SubstanceOfConcern ;
    skos:note """Required extension: RoHS has specific exemption categories not in GS1 vocabulary.
Use gs1:regulatoryInformation for general compliance, this class for RoHS-specific data."""@en;
    skos:narrowMatch gs1:RegulatoryInformation ;
    rdfs:seeAlso schema:Certification ;
    skos:narrowMatch schema:Certification .

euelec:DisplaySpecification
    a owl:Class ;
    rdfs:label "Display Specification"@en ;
    rdfs:comment "Display-specific technical specifications for monitors, TVs, and device screens."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

# -----------------------------------------------------------------------------
# Typed QuantitativeValue Subclasses (Electronics-specific)
# -----------------------------------------------------------------------------

# =============================================================================
# PART 2: DEVICE CATEGORY ENUMERATION
# =============================================================================

euelec:DeviceCategory
    a owl:Class ;
    rdfs:label "Device Category"@en ;
    rdfs:comment "Category of electronic device per ESPR delegated acts and WEEE classifications."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    owl:oneOf (
        euelec:Smartphone
        euelec:Tablet
        euelec:Laptop
        euelec:Desktop
        euelec:Server
        euelec:Display
        euelec:Television
        euelec:WashingMachine
        euelec:Refrigerator
        euelec:Dishwasher
        euelec:VacuumCleaner
        euelec:SmallAppliance
        euelec:NetworkEquipment
        euelec:DataStorage
        euelec:Printer
        euelec:Wearable
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:CategoryCode .

euelec:Smartphone a euelec:DeviceCategory ;
    rdfs:label "Smartphone"@en ;
    rdfs:comment "Mobile phone with advanced computing capabilities."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> .

euelec:Tablet a euelec:DeviceCategory ;
    rdfs:label "Tablet"@en ;
    rdfs:comment "Portable touch-screen computing device."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> .

euelec:Laptop a euelec:DeviceCategory ;
    rdfs:label "Laptop"@en ;
    rdfs:comment "Portable personal computer with integrated display and keyboard."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> .

euelec:Desktop a euelec:DeviceCategory ;
    rdfs:label "Desktop Computer"@en ;
    rdfs:comment "Personal computer designed for use at a fixed location."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> .

euelec:Server a euelec:DeviceCategory ;
    rdfs:label "Server"@en ;
    rdfs:comment "Computer designed to provide services to other computers or networks."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> .

euelec:Display a euelec:DeviceCategory ;
    rdfs:label "Display/Monitor"@en ;
    rdfs:comment "Computer monitor or display device."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> .

euelec:Television a euelec:DeviceCategory ;
    rdfs:label "Television"@en ;
    rdfs:comment "Television set for video display and reception."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> .

euelec:WashingMachine a euelec:DeviceCategory ;
    rdfs:label "Washing Machine"@en ;
    rdfs:comment "Household washing machine for clothing and textiles."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> .

euelec:Refrigerator a euelec:DeviceCategory ;
    rdfs:label "Refrigerator"@en ;
    rdfs:comment "Household refrigerating appliance."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> .

euelec:Dishwasher a euelec:DeviceCategory ;
    rdfs:label "Dishwasher"@en ;
    rdfs:comment "Household dishwashing machine."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> .

euelec:VacuumCleaner a euelec:DeviceCategory ;
    rdfs:label "Vacuum Cleaner"@en ;
    rdfs:comment "Household vacuum cleaning appliance."@en .

euelec:SmallAppliance a euelec:DeviceCategory ;
    rdfs:label "Small Household Appliance"@en ;
    rdfs:comment "Small household electrical appliance (toasters, kettles, etc.)."@en .

euelec:NetworkEquipment a euelec:DeviceCategory ;
    rdfs:label "Network Equipment"@en ;
    rdfs:comment "Networking devices including routers, switches, and access points."@en .

euelec:DataStorage a euelec:DeviceCategory ;
    rdfs:label "Data Storage Device"@en ;
    rdfs:comment "Data storage devices including external drives and NAS systems."@en .

euelec:Printer a euelec:DeviceCategory ;
    rdfs:label "Printer"@en ;
    rdfs:comment "Printing device including inkjet, laser, and multifunction printers."@en .

euelec:Wearable a euelec:DeviceCategory ;
    rdfs:label "Wearable Device"@en ;
    rdfs:comment "Wearable electronic device including smartwatches and fitness trackers."@en .

# =============================================================================
# PART 3: REPAIR CRITERION TYPE ENUMERATION (French Index)
# =============================================================================

euelec:RepairCriterionType
    a owl:Class ;
    rdfs:label "Repair Criterion Type"@en ;
    rdfs:comment "Types of criteria in the French Repairability Index (5 criteria, 20 points each)."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    owl:oneOf (
        euelec:Documentation
        euelec:Disassembly
        euelec:SparePartsAvailability
        euelec:SparePartsPricing
        euelec:ProductSpecific
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso cv:Criterion ;
    rdfs:seeAlso oec:RepairabilityInfo ;
    rdfs:seeAlso untp:Criterion .

euelec:Documentation a euelec:RepairCriterionType ;
    rdfs:label "Documentation"@en ;
    rdfs:comment "Availability and quality of repair documentation (20 points max)."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> .

euelec:Disassembly a euelec:RepairCriterionType ;
    rdfs:label "Disassembly"@en ;
    rdfs:comment "Ease of disassembly, reassembly, and tools required (20 points max)."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> .

euelec:SparePartsAvailability a euelec:RepairCriterionType ;
    rdfs:label "Spare Parts Availability"@en ;
    rdfs:comment "Duration of spare parts availability and access channels (20 points max)."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> .

euelec:SparePartsPricing a euelec:RepairCriterionType ;
    rdfs:label "Spare Parts Pricing"@en ;
    rdfs:comment "Ratio of spare part prices to product price (20 points max)."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> .

euelec:ProductSpecific a euelec:RepairCriterionType ;
    rdfs:label "Product Specific Criteria"@en ;
    rdfs:comment "Category-specific criteria such as software support duration (20 points max)."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> .

# =============================================================================
# PART 4: EU REPAIRABILITY CLASS ENUMERATION (Right to Repair)
# =============================================================================

euelec:EURepairabilityClass
    a owl:Class ;
    rdfs:label "EU Repairability Class"@en ;
    rdfs:comment "EU Right to Repair repairability grades (A-E) based on repairability score ranges."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    owl:oneOf (
        euelec:RepairClassA
        euelec:RepairClassB
        euelec:RepairClassC
        euelec:RepairClassD
        euelec:RepairClassE
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:Class .

euelec:RepairClassA a euelec:EURepairabilityClass ;
    rdfs:label "Repairability Class A"@en ;
    rdfs:comment "Highest repairability (score 8.1-10.0). Easily repairable by consumers and professionals."@en .

euelec:RepairClassB a euelec:EURepairabilityClass ;
    rdfs:label "Repairability Class B"@en ;
    rdfs:comment "High repairability (score 6.1-8.0). Good repair support available."@en .

euelec:RepairClassC a euelec:EURepairabilityClass ;
    rdfs:label "Repairability Class C"@en ;
    rdfs:comment "Moderate repairability (score 4.1-6.0). Some repair limitations."@en .

euelec:RepairClassD a euelec:EURepairabilityClass ;
    rdfs:label "Repairability Class D"@en ;
    rdfs:comment "Limited repairability (score 2.1-4.0). Significant repair barriers."@en .

euelec:RepairClassE a euelec:EURepairabilityClass ;
    rdfs:label "Repairability Class E"@en ;
    rdfs:comment "Lowest repairability (score 0-2.0). Difficult or impossible to repair."@en .

# =============================================================================
# PART 5: ENERGY EFFICIENCY CLASS ENUMERATION
# =============================================================================

euelec:EnergyEfficiencyClass
    a owl:Class ;
    rdfs:label "Energy Efficiency Class"@en ;
    rdfs:comment "EU Energy Label efficiency classes (A-G) per EU 2019/2021."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    owl:oneOf (
        euelec:EnergyClassA
        euelec:EnergyClassB
        euelec:EnergyClassC
        euelec:EnergyClassD
        euelec:EnergyClassE
        euelec:EnergyClassF
        euelec:EnergyClassG
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:EnergyEfficiencyClass ;
    skos:narrowMatch schema:EnergyConsumptionDetails ;
    skos:narrowMatch schema:EUEnergyEfficiencyEnumeration ;
    skos:narrowMatch schema:EnergyEfficiencyEnumeration ;
    skos:narrowMatch oec:EnergyEfficiency .

euelec:EnergyClassA a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class A"@en ;
    rdfs:comment "Most energy efficient (green label)."@en .

euelec:EnergyClassB a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class B"@en ;
    rdfs:comment "Very energy efficient."@en .

euelec:EnergyClassC a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class C"@en ;
    rdfs:comment "Energy efficient."@en .

euelec:EnergyClassD a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class D"@en ;
    rdfs:comment "Average energy efficiency."@en .

euelec:EnergyClassE a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class E"@en ;
    rdfs:comment "Below average energy efficiency."@en .

euelec:EnergyClassF a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class F"@en ;
    rdfs:comment "Low energy efficiency."@en .

euelec:EnergyClassG a euelec:EnergyEfficiencyClass ;
    rdfs:label "Energy Class G"@en ;
    rdfs:comment "Least energy efficient (red label)."@en .

# =============================================================================
# PART 6: WEEE CATEGORY ENUMERATION
# =============================================================================

euelec:WEEECategory
    a owl:Class ;
    rdfs:label "WEEE Category"@en ;
    rdfs:comment "WEEE Directive 2012/19/EU equipment categories (6 categories)."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> ;
    owl:oneOf (
        euelec:WEEE1_TemperatureExchange
        euelec:WEEE2_ScreensMonitors
        euelec:WEEE3_Lamps
        euelec:WEEE4_LargeEquipment
        euelec:WEEE5_SmallEquipment
        euelec:WEEE6_SmallIT
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    rdfs:seeAlso dppk:weeeCategory ;
    skos:closeMatch dppk:weeeCategory ;
    skos:note "E-waste / separate-collection concept per the WEEE Directive 2012/19/EU. Aligns approximately with the DPP Keystone field dppk:weeeCategory. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:CategoryCode .

euelec:WEEE1_TemperatureExchange a euelec:WEEECategory ;
    rdfs:label "WEEE Category 1: Temperature Exchange Equipment"@en ;
    rdfs:comment "Refrigerators, freezers, air conditioners, heat pumps."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> .

euelec:WEEE2_ScreensMonitors a euelec:WEEECategory ;
    rdfs:label "WEEE Category 2: Screens and Monitors"@en ;
    rdfs:comment "Televisions, monitors, laptops, notebooks, tablets."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> .

euelec:WEEE3_Lamps a euelec:WEEECategory ;
    rdfs:label "WEEE Category 3: Lamps"@en ;
    rdfs:comment "Fluorescent lamps, LED lamps, high-intensity discharge lamps."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> .

euelec:WEEE4_LargeEquipment a euelec:WEEECategory ;
    rdfs:label "WEEE Category 4: Large Equipment"@en ;
    rdfs:comment "Washing machines, dishwashers, electric stoves, large printing machines, large medical devices."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> .

euelec:WEEE5_SmallEquipment a euelec:WEEECategory ;
    rdfs:label "WEEE Category 5: Small Equipment"@en ;
    rdfs:comment "Vacuum cleaners, microwaves, ventilation equipment, toasters, shavers, scales, calculators, radios, video cameras, small electrical and electronic tools."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> .

euelec:WEEE6_SmallIT a euelec:WEEECategory ;
    rdfs:label "WEEE Category 6: Small IT and Telecommunication Equipment"@en ;
    rdfs:comment "Mobile phones, GPS, pocket calculators, routers, personal computers, printers, telephones."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> .

# =============================================================================
# PART 7: COMPONENT TYPE ENUMERATION
# =============================================================================

euelec:ComponentType
    a owl:Class ;
    rdfs:label "Component Type"@en ;
    rdfs:comment "Types of replaceable components in electronic devices."@en ;
    dcterms:source <https://cirpassproject.eu/> ;
    owl:oneOf (
        euelec:BatteryComponent
        euelec:DisplayComponent
        euelec:ProcessorComponent
        euelec:MemoryComponent
        euelec:StorageComponent
        euelec:MotherboardComponent
        euelec:PowerSupplyComponent
        euelec:CoolingSystemComponent
        euelec:CameraComponent
        euelec:SpeakerComponent
        euelec:MicrophoneComponent
        euelec:KeyboardComponent
        euelec:TrackpadComponent
        euelec:ConnectorComponent
        euelec:EnclosureComponent
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso dppk:Component .

euelec:BatteryComponent a euelec:ComponentType ;
    rdfs:label "Battery"@en ;
    rdfs:comment "Rechargeable battery component. May link to Battery module DPP."@en .

euelec:DisplayComponent a euelec:ComponentType ;
    rdfs:label "Display"@en ;
    rdfs:comment "Display panel (LCD, OLED, etc.)."@en .

euelec:ProcessorComponent a euelec:ComponentType ;
    rdfs:label "Processor"@en ;
    rdfs:comment "Central processing unit (CPU) or system-on-chip (SoC)."@en .

euelec:MemoryComponent a euelec:ComponentType ;
    rdfs:label "Memory"@en ;
    rdfs:comment "Random access memory (RAM) module."@en .

euelec:StorageComponent a euelec:ComponentType ;
    rdfs:label "Storage"@en ;
    rdfs:comment "Data storage device (SSD, HDD, eMMC)."@en .

euelec:MotherboardComponent a euelec:ComponentType ;
    rdfs:label "Motherboard"@en ;
    rdfs:comment "Main circuit board."@en .

euelec:PowerSupplyComponent a euelec:ComponentType ;
    rdfs:label "Power Supply"@en ;
    rdfs:comment "Power supply unit or charging circuit."@en .

euelec:CoolingSystemComponent a euelec:ComponentType ;
    rdfs:label "Cooling System"@en ;
    rdfs:comment "Thermal management components (fans, heat sinks)."@en .

euelec:CameraComponent a euelec:ComponentType ;
    rdfs:label "Camera"@en ;
    rdfs:comment "Camera module."@en .

euelec:SpeakerComponent a euelec:ComponentType ;
    rdfs:label "Speaker"@en ;
    rdfs:comment "Audio speaker component."@en .

euelec:MicrophoneComponent a euelec:ComponentType ;
    rdfs:label "Microphone"@en ;
    rdfs:comment "Microphone component."@en .

euelec:KeyboardComponent a euelec:ComponentType ;
    rdfs:label "Keyboard"@en ;
    rdfs:comment "Keyboard or keypad component."@en .

euelec:TrackpadComponent a euelec:ComponentType ;
    rdfs:label "Trackpad"@en ;
    rdfs:comment "Trackpad or touchpad component."@en .

euelec:ConnectorComponent a euelec:ComponentType ;
    rdfs:label "Connector"@en ;
    rdfs:comment "Port, connector, or cable component."@en .

euelec:EnclosureComponent a euelec:ComponentType ;
    rdfs:label "Enclosure"@en ;
    rdfs:comment "Casing or housing component."@en .

# =============================================================================
# PART 8: REPLACEMENT DIFFICULTY ENUMERATION
# =============================================================================

euelec:ReplacementDifficulty
    a owl:Class ;
    rdfs:label "Replacement Difficulty"@en ;
    rdfs:comment "Level of difficulty for component replacement."@en ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    owl:oneOf (
        euelec:UserReplaceable
        euelec:ToolRequired
        euelec:ProfessionalOnly
        euelec:NotReplaceable
    ) ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:RepairabilityInfo .

euelec:UserReplaceable a euelec:ReplacementDifficulty ;
    rdfs:label "User Replaceable"@en ;
    rdfs:comment "Can be replaced by user without tools or with basic tools."@en .

euelec:ToolRequired a euelec:ReplacementDifficulty ;
    rdfs:label "Tool Required"@en ;
    rdfs:comment "Requires specialized tools but can be done by skilled user."@en .

euelec:ProfessionalOnly a euelec:ReplacementDifficulty ;
    rdfs:label "Professional Only"@en ;
    rdfs:comment "Requires professional repair service."@en .

euelec:NotReplaceable a euelec:ReplacementDifficulty ;
    rdfs:label "Not Replaceable"@en ;
    rdfs:comment "Component is soldered, glued, or otherwise not designed for replacement."@en .

# =============================================================================
# PART 9: PROPERTIES - DEVICE INFORMATION
# =============================================================================

euelec:modelIdentifier
    a owl:DatatypeProperty ;
    rdfs:label "Model Identifier"@en ;
    rdfs:comment "Manufacturer's model number or identifier."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:identifier ;
    skos:narrowMatch <http://www.w3.org/ns/adms#identifier> .

# =============================================================================
# PART 10: PROPERTIES - FRENCH REPAIRABILITY INDEX
# =============================================================================

euelec:repairabilityIndex
    a owl:ObjectProperty ;
    rdfs:label "Repairability Index"@en ;
    rdfs:comment "French Repairability Index (Indice de Réparabilité) assessment."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:RepairabilityIndex ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:totalScore
    a owl:DatatypeProperty ;
    rdfs:label "Total Score"@en ;
    rdfs:comment "Total repairability score (0-100 scale, sum of 5 criteria)."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range xsd:decimal ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:displayScore
    a owl:DatatypeProperty ;
    rdfs:label "Display Score"@en ;
    rdfs:comment "Consumer-facing repairability score (0-10 scale, totalScore/10)."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range xsd:decimal ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No exact GS1 or SEMICeu equivalent; loosely related to the generic schema:ratingValue."@en ;
    skos:closeMatch schema:ratingValue .

euelec:repairabilityClass
    a owl:ObjectProperty ;
    rdfs:label "Repairability Class"@en ;
    rdfs:comment "EU Right to Repair classification (A-E grade)."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range euelec:EURepairabilityClass ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:repairabilityClass .

euelec:repairCriteria
    a owl:ObjectProperty ;
    rdfs:label "Repair Criteria"@en ;
    rdfs:comment "List of individual criterion scores."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range euelec:RepairCriterion ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:criterionType
    a owl:ObjectProperty ;
    rdfs:label "Criterion Type"@en ;
    rdfs:comment "Type of repair criterion being scored."@en ;
    rdfs:domain euelec:RepairCriterion ;
    rdfs:range euelec:RepairCriterionType ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:criterionScore
    a owl:DatatypeProperty ;
    rdfs:label "Criterion Score"@en ;
    rdfs:comment "Score for this criterion (0-20 scale)."@en ;
    rdfs:domain euelec:RepairCriterion ;
    rdfs:range xsd:decimal ;
    rdfs:seeAlso cccev:SupportedValue ;
    skos:note "The score is the cccev:SupportedValue (EU SEMICeu CCCEV) for the InformationConcept that this criterion measures."@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> .

euelec:criterionMaxScore
    a owl:DatatypeProperty ;
    rdfs:label "Criterion Max Score"@en ;
    rdfs:comment "Maximum possible score for this criterion (typically 20)."@en ;
    rdfs:domain euelec:RepairCriterion ;
    rdfs:range xsd:decimal ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:maxValue ;
    skos:closeMatch schema:bestRating .

euelec:criterionDetails
    a owl:DatatypeProperty ;
    rdfs:label "Criterion Details"@en ;
    rdfs:comment "Detailed explanation of the criterion score."@en ;
    rdfs:domain euelec:RepairCriterion ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso schema:ratingExplanation .

euelec:assessmentDate
    a owl:DatatypeProperty ;
    rdfs:label "Assessment Date"@en ;
    rdfs:comment "Date when the repairability assessment was performed."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range xsd:date ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:assessmentBody
    a owl:ObjectProperty ;
    rdfs:label "Assessment Body"@en ;
    rdfs:comment "Organization that performed the repairability assessment."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range gs1:Organization ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:repairabilityLabelUrl
    a owl:DatatypeProperty ;
    rdfs:label "Repairability Label URL"@en ;
    rdfs:comment "URL to the official repairability label image."@en ;
    rdfs:domain euelec:RepairabilityIndex ;
    rdfs:range xsd:anyURI ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en .

# =============================================================================
# PART 11: PROPERTIES - SOFTWARE SUPPORT
# =============================================================================

euelec:softwareSupport
    a owl:ObjectProperty ;
    rdfs:label "Software Support"@en ;
    rdfs:comment "Software and firmware support information."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:SoftwareSupport ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en .

euelec:osVersion
    a owl:DatatypeProperty ;
    rdfs:label "OS Version"@en ;
    rdfs:comment "Current version of the operating system."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso schema:softwareVersion ;
    skos:closeMatch schema:softwareVersion .

euelec:firmwareVersion
    a owl:DatatypeProperty ;
    rdfs:label "Firmware Version"@en ;
    rdfs:comment "Current version of the device firmware."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:closeMatch schema:softwareVersion .

euelec:securityUpdateEndDate
    a owl:DatatypeProperty ;
    rdfs:label "Security Update End Date"@en ;
    rdfs:comment "Date until which security updates will be provided."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range xsd:date ;
    skos:note "Candidate for UNTP contribution: softwareSecurityEndDate."@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    rdfs:seeAlso schema:endDate .

euelec:featureUpdateEndDate
    a owl:DatatypeProperty ;
    rdfs:label "Feature Update End Date"@en ;
    rdfs:comment "Date until which feature/OS updates will be provided."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range xsd:date ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en .

euelec:securitySupportYears
    a owl:ObjectProperty ;
    rdfs:label "Security Support Years"@en ;
    rdfs:comment "Number of years of security update support. Use gs1:QuantitativeValue with unitCode 'ANN'."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range gs1:QuantitativeValue ;
    skos:note "Candidate for UNTP contribution: softwareSupportPeriod."@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> .

euelec:featureSupportYears
    a owl:ObjectProperty ;
    rdfs:label "Feature Support Years"@en ;
    rdfs:comment "Number of years of feature update support. Use gs1:QuantitativeValue with unitCode 'ANN'."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en .

euelec:updateChannel
    a owl:DatatypeProperty ;
    rdfs:label "Update Channel"@en ;
    rdfs:comment "URL or method for obtaining software updates (OTA, website, etc.)."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range xsd:anyURI ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:availableChannel ;
    skos:narrowMatch cv:hasChannel .

euelec:latestUpdateDate
    a owl:DatatypeProperty ;
    rdfs:label "Latest Update Date"@en ;
    rdfs:comment "Date of the most recent software/firmware update."@en ;
    rdfs:domain euelec:SoftwareSupport ;
    rdfs:range xsd:date ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:closeMatch <urn:samm:io.BatteryPass.Performance:1.2.1#lastUpdate> .

# =============================================================================
# PART 12: PROPERTIES - ENERGY EFFICIENCY
# =============================================================================

euelec:energyEfficiency
    a owl:ObjectProperty ;
    rdfs:label "Energy Efficiency"@en ;
    rdfs:comment "EU Energy Label information."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:EnergyEfficiency ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:energyEfficiency ;
    skos:broadMatch schema:energyEfficiencyScaleMax ;
    skos:narrowMatch schema:hasEnergyEfficiencyCategory ;
    skos:narrowMatch schema:hasEnergyConsumptionDetails .

euelec:energyEfficiencyClass
    a owl:ObjectProperty ;
    rdfs:label "Energy Efficiency Class"@en ;
    rdfs:comment "EU Energy Label class (A-G)."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range euelec:EnergyEfficiencyClass ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:energyEfficiencyClass ;
    skos:narrowMatch schema:hasEnergyConsumptionDetails ;
    rdfs:seeAlso schema:hasEnergyEfficiencyCategory .

euelec:annualEnergyConsumption
    a owl:ObjectProperty ;
    rdfs:label "Annual Energy Consumption"@en ;
    rdfs:comment "Annual energy consumption in kWh. Use gs1:QuantitativeValue with unitCode 'KWH'."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:annualEnergyConsumption .

euelec:powerConsumptionOn
    a owl:ObjectProperty ;
    rdfs:label "Power Consumption On"@en ;
    rdfs:comment "Power consumption when device is on/active. Use gs1:QuantitativeValue with unitCode 'WTT'."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:powerConsumptionOn .

euelec:powerConsumptionStandby
    a owl:ObjectProperty ;
    rdfs:label "Power Consumption Standby"@en ;
    rdfs:comment "Power consumption in standby mode. Use gs1:QuantitativeValue with unitCode 'WTT'."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:powerConsumptionStandby .

euelec:powerConsumptionOff
    a owl:ObjectProperty ;
    rdfs:label "Power Consumption Off"@en ;
    rdfs:comment "Power consumption when switched off but plugged in. Use gs1:QuantitativeValue with unitCode 'WTT'."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:powerConsumptionOff .

euelec:eprelRegistrationNumber
    a owl:DatatypeProperty ;
    rdfs:label "EPREL Registration Number"@en ;
    rdfs:comment "European Product Registry for Energy Labelling (EPREL) registration number."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range xsd:string ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:eprelRegistrationNumber ;
    skos:narrowMatch gs1:regulatoryReferenceNumber ;
    skos:narrowMatch gs1:regulatoryVerificationNumber .

euelec:energyLabelUrl
    a owl:DatatypeProperty ;
    rdfs:label "Energy Label URL"@en ;
    rdfs:comment "URL to the EU Energy Label image."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range xsd:anyURI ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:eprelProductUrl
    a owl:DatatypeProperty ;
    rdfs:label "EPREL Product URL"@en ;
    rdfs:comment "URL to the product page in the EPREL database."@en ;
    rdfs:domain euelec:EnergyEfficiency ;
    rdfs:range xsd:anyURI ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2019/2021> ;
    skos:note "Energy-performance concept per EU Energy Labelling / Ecodesign (EU) 2019/2021. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:eprelProductUrl .

# =============================================================================
# PART 13: PROPERTIES - BILL OF MATERIALS
# =============================================================================

euelec:billOfMaterials
    a owl:ObjectProperty ;
    rdfs:label "Bill of Materials"@en ;
    rdfs:comment "Component bill of materials for the device."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:ComponentBOM ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso <urn:samm:io.BatteryPass.MaterialComposition:1.2.0#batteryMaterials> .

euelec:components
    a owl:ObjectProperty ;
    rdfs:label "Components"@en ;
    rdfs:comment "List of components in the bill of materials."@en ;
    rdfs:domain euelec:ComponentBOM ;
    rdfs:range gs1:Product ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:componentType
    a owl:ObjectProperty ;
    rdfs:label "Component Type"@en ;
    rdfs:comment "Type of component (Battery, Display, etc.)."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:ComponentType ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:broadMatch <urn:samm:io.BatteryPass.GeneralProductInformation:1.2.0#batteryCategory> .

euelec:componentPartNumber
    a owl:DatatypeProperty ;
    rdfs:label "Component Part Number"@en ;
    rdfs:comment "Manufacturer's part number for the component."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:closeMatch <urn:samm:io.BatteryPass.Circularity:1.2.0#partNumber> .

euelec:isReplaceable
    a owl:DatatypeProperty ;
    rdfs:label "Is Replaceable"@en ;
    rdfs:comment "Whether the component can be replaced."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range xsd:boolean ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:replacementDifficulty
    a owl:ObjectProperty ;
    rdfs:label "Replacement Difficulty"@en ;
    rdfs:comment "Level of difficulty to replace this component."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:ReplacementDifficulty ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:componentPassport
    a owl:ObjectProperty ;
    rdfs:label "Component Passport"@en ;
    rdfs:comment """Link to the component's own Digital Product Passport (nested DPP).
Enables CIRPASS-2 multi-component tracking."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    rdfs:domain gs1:Product ;
    rdfs:range xsd:anyURI ;
    skos:note "Aligned with UNTP linkedProduct pattern for nested DPPs."@en ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:narrowMatch gs1:dpp .

euelec:sparePartAvailabilityYears
    a owl:ObjectProperty ;
    rdfs:label "Spare Part Availability Years"@en ;
    rdfs:comment "Duration for which this component is available as a spare part. Use unitCode 'ANN' (UN/CEFACT Rec 20)."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    rdfs:seeAlso dppk:sparePartsAvailable ;
    skos:closeMatch dppk:sparePartsAvailable ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. Aligns approximately with the DPP Keystone field dppk:sparePartsAvailable. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:sparePartPrice
    a owl:ObjectProperty ;
    rdfs:label "Spare Part Price"@en ;
    rdfs:comment "Price of the component as a spare part."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range gs1:PriceSpecification ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.ecologie.gouv.fr/indice-reparabilite> ;
    skos:note "Repairability concept per the French Repairability Index (Indice de Réparabilité) and the EU Right to Repair. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso schema:priceSpecification ;
    skos:closeMatch schema:priceSpecification ;
    skos:closeMatch gs1:priceSpecification ;
    skos:narrowMatch schema:price .

# =============================================================================
# PART 14: PROPERTIES - WEEE COMPLIANCE
# =============================================================================

euelec:weeeCompliance
    a owl:ObjectProperty ;
    rdfs:label "WEEE Compliance"@en ;
    rdfs:comment "WEEE Directive compliance information."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:WEEECompliance ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> ;
    skos:note "E-waste / separate-collection concept per the WEEE Directive 2012/19/EU. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:weeeRegistrationNumber
    a owl:DatatypeProperty ;
    rdfs:label "WEEE Registration Number"@en ;
    rdfs:comment "Producer registration number in the WEEE register."@en ;
    rdfs:domain euelec:WEEECompliance ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> ;
    skos:note "E-waste / separate-collection concept per the WEEE Directive 2012/19/EU. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch gs1:registryEntry ;
    skos:narrowMatch schema:companyRegistration ;
    skos:narrowMatch gs1:regulatoryReferenceNumber .

euelec:weeeRegistrationCountry
    a owl:DatatypeProperty ;
    rdfs:label "WEEE Registration Country"@en ;
    rdfs:comment "Country of WEEE registration (ISO 3166-1 alpha-2)."@en ;
    rdfs:domain euelec:WEEECompliance ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> ;
    skos:note "E-waste / separate-collection concept per the WEEE Directive 2012/19/EU. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:closeMatch schema:addressCountry ;
    skos:narrowMatch untp:addressCountry .

euelec:collectionSchemeUrl
    a owl:DatatypeProperty ;
    rdfs:label "Collection Scheme URL"@en ;
    rdfs:comment "URL to information about the WEEE collection/take-back scheme."@en ;
    rdfs:domain euelec:WEEECompliance ;
    rdfs:range xsd:anyURI ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2012/19/oj> ;
    skos:note "E-waste / separate-collection concept per the WEEE Directive 2012/19/EU. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:recyclabilityRate
    a owl:DatatypeProperty ;
    rdfs:label "Recyclability Rate"@en ;
    rdfs:comment "Fraction of device that can be recycled (0-1 scale)."@en ;
    rdfs:domain euelec:WEEECompliance ;
    rdfs:range xsd:decimal ;
    rdfs:seeAlso oec:recyclableContent ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso oec:recyclabilityRate ;
    skos:exactMatch oec:recyclabilityRate .

euelec:recoverabilityRate
    a owl:DatatypeProperty ;
    rdfs:label "Recoverability Rate"@en ;
    rdfs:comment "Fraction of device that can be recovered (recycling + energy recovery, 0-1 scale)."@en ;
    rdfs:domain euelec:WEEECompliance ;
    rdfs:range xsd:decimal ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

# =============================================================================
# PART 15: PROPERTIES - ROHS COMPLIANCE
# =============================================================================

euelec:rohsCompliance
    a owl:ObjectProperty ;
    rdfs:label "RoHS Compliance"@en ;
    rdfs:comment "RoHS Directive compliance information."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:RoHSCompliance ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2011/65/eu> ;
    skos:note "Restricted-substance concept per the RoHS Directive 2011/65/EU. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:hasCertification ;
    skos:narrowMatch gs1:certificationInfo .

euelec:rohsCompliant
    a owl:DatatypeProperty ;
    rdfs:label "RoHS Compliant"@en ;
    rdfs:comment "Whether the device complies with RoHS Directive."@en ;
    rdfs:domain euelec:RoHSCompliance ;
    rdfs:range xsd:boolean ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2011/65/eu> ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    skos:note "Restricted-substance concept per the RoHS Directive 2011/65/EU. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:rohsExemptions
    a owl:DatatypeProperty ;
    rdfs:label "RoHS Exemptions"@en ;
    rdfs:comment "List of applicable RoHS exemption codes (e.g., '7(a)', '7(c)-I')."@en ;
    rdfs:domain euelec:RoHSCompliance ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2011/65/eu> ;
    skos:note "Restricted-substance concept per the RoHS Directive 2011/65/EU. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:rohsDeclarationUrl
    a owl:DatatypeProperty ;
    rdfs:label "RoHS Declaration URL"@en ;
    rdfs:comment "URL to the RoHS compliance declaration document."@en ;
    rdfs:domain euelec:RoHSCompliance ;
    rdfs:range xsd:anyURI ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/dir/2011/65/eu> ;
    skos:note "Restricted-substance concept per the RoHS Directive 2011/65/EU. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso gs1:referencedFileURL ;
    skos:narrowMatch dppk:certificationUrl ;
    skos:narrowMatch <urn:samm:io.BatteryPass.Labels:1.2.0#resultOfTestReport> ;
    skos:narrowMatch gs1:referencedFileURL .

# =============================================================================
# PART 16: PROPERTIES - DISPLAY SPECIFICATION
# =============================================================================

euelec:displaySpecification
    a owl:ObjectProperty ;
    rdfs:label "Display Specification"@en ;
    rdfs:comment "Display-specific technical specifications."@en ;
    rdfs:domain gs1:Product ;
    rdfs:range euelec:DisplaySpecification ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:screenDiagonal
    a owl:ObjectProperty ;
    rdfs:label "Screen Diagonal"@en ;
    rdfs:comment "Visible screen diagonal. Use gs1:QuantitativeValue with unitCode 'CMT' or 'INH'."@en ;
    rdfs:domain euelec:DisplaySpecification ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch gs1:value .

euelec:screenResolutionWidth
    a owl:DatatypeProperty ;
    rdfs:label "Screen Resolution Width"@en ;
    rdfs:comment "Horizontal resolution in pixels."@en ;
    rdfs:domain euelec:DisplaySpecification ;
    rdfs:range xsd:integer ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:screenResolutionHeight
    a owl:DatatypeProperty ;
    rdfs:label "Screen Resolution Height"@en ;
    rdfs:comment "Vertical resolution in pixels."@en ;
    rdfs:domain euelec:DisplaySpecification ;
    rdfs:range xsd:integer ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:height ;
    skos:narrowMatch untp:height ;
    skos:narrowMatch dppk:height .

euelec:displayTechnology
    a owl:DatatypeProperty ;
    rdfs:label "Display Technology"@en ;
    rdfs:comment "Display technology type (LCD, OLED, AMOLED, MicroLED, etc.)."@en ;
    rdfs:domain euelec:DisplaySpecification ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:refreshRate
    a owl:ObjectProperty ;
    rdfs:label "Refresh Rate"@en ;
    rdfs:comment "Display refresh rate. Use gs1:QuantitativeValue with unitCode 'HTZ'."@en ;
    rdfs:domain euelec:DisplaySpecification ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch gs1:value .

euelec:peakBrightness
    a owl:ObjectProperty ;
    rdfs:label "Peak Brightness"@en ;
    rdfs:comment "Peak brightness in candelas per square meter (nits). Use gs1:QuantitativeValue. Use unitCode 'CDM2' (UN/CEFACT Rec 20)."@en ;
    rdfs:domain euelec:DisplaySpecification ;
    rdfs:range gs1:QuantitativeValue ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

# =============================================================================
# PART 17: EPCIS EVENT EXTENSION PROPERTIES
# =============================================================================

euelec:softwareUpdateEvent
    a owl:ObjectProperty ;
    rdfs:label "Software Update Event"@en ;
    rdfs:comment """EPCIS extension data for software/firmware update events.
Use with bizStep 'inspecting' for software lifecycle tracking."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    rdfs:seeAlso <https://www.iso.org/standard/63712.html> ;
    skos:note "Candidate for UNTP contribution: softwareUpdateEvent pattern."@en ;
    dcterms:source <https://www.iso.org/standard/63712.html> .

euelec:previousVersion
    a owl:DatatypeProperty ;
    rdfs:label "Previous Version"@en ;
    rdfs:comment "Software/firmware version before update."@en ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

euelec:newVersion
    a owl:DatatypeProperty ;
    rdfs:label "New Version"@en ;
    rdfs:comment "Software/firmware version after update."@en ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    rdfs:seeAlso schema:version ;
    skos:narrowMatch schema:softwareVersion ;
    skos:narrowMatch schema:assemblyVersion .

euelec:updateType
    a owl:DatatypeProperty ;
    rdfs:label "Update Type"@en ;
    rdfs:comment "Type of update (security, feature, firmware, driver, etc.)."@en ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en .

euelec:updateSource
    a owl:DatatypeProperty ;
    rdfs:label "Update Source"@en ;
    rdfs:comment "Source of the update (OTA, manual, service center, etc.)."@en ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://www.iso.org/standard/63712.html> ;
    skos:note "Software / firmware support-lifecycle concept per ISO/IEC 12207. Candidate for upstream UNTP contribution; no GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:narrowMatch schema:source .

# =============================================================================
# PART 18: PROPERTIES - IEC 62474 MATERIAL DECLARATION
# =============================================================================

euelec:materialDeclaration
    a owl:ObjectProperty ;
    rdfs:label "Material Declaration"@en ;
    rdfs:comment """Material declaration per IEC 62474 (Declarable Substance List).
Links to oec:SubstanceOfConcern for REACH/RoHS substances."""@en ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    rdfs:domain gs1:Product ;
    rdfs:range oec:SubstanceOfConcern ;
    rdfs:seeAlso <https://std.iec.ch/iec62474> ;
    dcterms:source <https://std.iec.ch/iec62474> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:broadMatch <urn:samm:io.BatteryPass.MaterialComposition:1.2.0#isCriticalRawMaterial> ;
    skos:broadMatch gs1:packagingMaterialType .

euelec:iec62474DslVersion
    a owl:DatatypeProperty ;
    rdfs:label "IEC 62474 DSL Version"@en ;
    rdfs:comment "Version of the IEC 62474 Declarable Substance List used."@en ;
    rdfs:range xsd:string ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en ;
    skos:closeMatch schema:assemblyVersion ;
    skos:narrowMatch schema:schemaVersion .

euelec:materialDeclarationDate
    a owl:DatatypeProperty ;
    rdfs:label "Material Declaration Date"@en ;
    rdfs:comment "Date of the material declaration."@en ;
    rdfs:range xsd:date ;
    rdfs:isDefinedBy <https://ref.openepcis.io/extensions/eu/electronics/> ;
    dcterms:source <https://eur-lex.europa.eu/eli/reg/2024/1781> ;
    skos:note "Electronics Digital Product Passport attribute under the ESPR 2024/1781 electronics delegated acts. No GS1, SEMICeu, or schema.org equivalent."@en .

# =============================================================================
# Cross-cutting alignment to oec: (Phase 2 lift)
# =============================================================================
# Anchor electronics-specific cross-cutting concepts upward to the lifted
# oec: terms (which themselves anchor up to UNTP / schema.org).

euelec:WEEECompliance        rdfs:subClassOf       oec:ExtendedProducerResponsibility .
euelec:weeeRegistrationNumber  skos:narrowMatch oec:eprRegistrationNumber .
euelec:weeeRegistrationCountry skos:narrowMatch oec:eprJurisdiction .

euelec:EnergyEfficiency        rdfs:subClassOf       oec:EnergyEfficiency .
euelec:energyEfficiencyClass   skos:exactMatch oec:energyEfficiencyClass .
euelec:annualEnergyConsumption skos:exactMatch oec:annualEnergyConsumption .
euelec:powerConsumptionOn      skos:exactMatch oec:powerConsumptionOn .
euelec:powerConsumptionStandby skos:exactMatch oec:powerConsumptionStandby .
euelec:powerConsumptionOff     skos:exactMatch oec:powerConsumptionOff .
euelec:eprelRegistrationNumber skos:exactMatch oec:eprelRegistrationNumber .
euelec:eprelProductUrl         skos:exactMatch oec:eprelProductUrl .
