@prefix bp: <urn:samm:io.BatteryPass.Merged:1.2.0#> .
@prefix dc: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix schema: <https://schema.org/> .
@prefix jsonld: <http://www.w3.org/ns/json-ld#> .
# Ontology definition
bp: a owl:Ontology ;
    dc:title """Battery Pass Ontology"""@en ;
    dc:description """OWL/RDFS ontology derived from SAMM Battery Pass models including CarbonFootprint, Circularity, GeneralProductInformation, Labels, MaterialComposition, and SupplyChainDueDiligence modules. This work is licensed under a Creative Commons License Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
"""^^rdf:HTML ;
    rdfs:seeAlso <https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1542> ;
    dc:date "2026-02-23"^^xsd:date ;
.

# Property definitions
bp:batteryCarbonFootprint a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:CarbonFootprintForBatteries ;
    rdfs:range xsd:double ;
    rdfs:label "battery carbon footprint" ;
    rdfs:comment """<div>The carbon footprint of the battery, calculated as kg of carbon dioxide equivalent per one kWh of the total energy provided by the battery over its expected service life, as declared in the Carbon Footprint Declaration. DIN DKE Spec 99100 chapter reference: 6.3.2</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:carbonFootprintPerformanceClass a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:CarbonFootprintForBatteries ;
    rdfs:range xsd:string ;
    rdfs:label "carbon footprint performance class" ;
    rdfs:comment """<div>The carbon footprint performance class that the relevant battery model per manufacturing plant corresponds to. DIN DKE Spec 99100 chapter reference: 6.3.7</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:carbonFootprintStudy a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:CarbonFootprintForBatteries ;
    rdfs:range xsd:anyURI ;
    rdfs:label "carbon footprint study" ;
    rdfs:comment """<div>A web link to get access to a public version of the study supporting the carbon footprint values. DIN DKE Spec 99100 chapter reference: 6.3.8</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:absoluteCarbonFootprint a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:CarbonFootprintForBatteries ;
    rdfs:range xsd:double ;
    rdfs:label "absolute carbon footprint" ;
    rdfs:comment """<div>As a non-mandatory data attribute, the battery passport should include the battery carbon footprint in absolute terms. DIN DKE Spec 99100 chapter reference: 6.3.10</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:carbonFootprint a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:CarbonFootprintPerLifecycleStageEntity ;
    rdfs:range xsd:double ;
    rdfs:label "carbon footprint" ;
    rdfs:comment """<div>Carbon footprint of the individual lifecycle stage</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:lifecycleStage a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:CarbonFootprintPerLifecycleStageEntity ;
    rdfs:range bp:LifecycleStageDatatype ;
    rdfs:label "lifecycle stage" ;
    rdfs:comment """<div>The description of the life cycle stage</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:carbonFootprintPerLifecycleStage a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:CarbonFootprintForBatteries ;
    rdfs:range bp:CarbonFootprintPerLifecycleStageEntity ;
    rdfs:label "carbon footprint per lifecycle stage" ;
    rdfs:comment """<div>The carbon footprint of the battery as share of total Battery Carbon Footprint, differentiated per life cycle stages raw material extraction, battery production, distribution and recycling. DIN DKE Spec 99100 chapter reference: 6.3.3-6.3.6</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hasUnit a rdf:Property, owl:ObjectProperty ;
    rdfs:range bp:Unit ;
    rdfs:label "has unit" ;
    rdfs:comment """<div>Specifies the unit of measurement for a property</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:symbol a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:Unit ;
    rdfs:range xsd:string ;
    rdfs:label "symbol" ;
    rdfs:comment """<div>Symbol representation of the unit</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:commonCode a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:Unit ;
    rdfs:range xsd:string ;
    rdfs:label "common code" ;
    rdfs:comment """<div>Common code representation of the unit</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:referenceUnit a rdf:Property ;
    rdfs:domain bp:Unit ;
    rdfs:label "reference unit" ;
    rdfs:comment """<div>Reference to a standard unit definition</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:renewableContent a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:Circularity ;
    rdfs:range xsd:float ;
    rdfs:label "renewable content" ;
    rdfs:comment """<div>Share of renewable material content. DIN DKE Spec 99100 chapter reference: 6.6.2.11</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:documentType a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:DismantlingandRemovalDocumentation ;
    rdfs:range bp:DocumentTypeDatatype ;
    rdfs:label "document type" ;
    rdfs:comment """<div>Describes type for document</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:mimeType a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:DismantlingandRemovalDocumentation ;
    rdfs:range xsd:string ;
    rdfs:label "mime type" ;
    rdfs:comment """<div>Defines internet media type</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:documentURL a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:DismantlingandRemovalDocumentation ;
    rdfs:range xsd:anyURI ;
    rdfs:label "document URL" ;
    rdfs:comment """<div>Link to document</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:nameOfSupplier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SparePartSupplierEntity ;
    rdfs:range xsd:string ;
    rdfs:label "name of supplier" ;
    rdfs:comment """<div>Name of Supplier</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:emailAddressOfSupplier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SparePartSupplierEntity ;
    rdfs:range bp:EmailAddressDatatype ;
    rdfs:label "email address of supplier" ;
    rdfs:comment """<div>E-mail address of supplier for spare parts.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:supplierWebAddress a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SparePartSupplierEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "supplier web address" ;
    rdfs:comment """<div>Web address of supplier for spare parts.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:addressOfSupplier a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:SparePartSupplierEntity ;
    rdfs:range bp:PostalAddress ;
    rdfs:label "address of supplier" ;
    rdfs:comment """<div>Postal address of supplier for spare parts.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:components a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:SparePartSupplierEntity ;
    rdfs:range bp:ComponentEntity ;
    rdfs:label "components" ;
    rdfs:comment """<div>Components available at supplier</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:preConsumerShare a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:RecycledContentEntity ;
    rdfs:range bp:PercentageDatatype ;
    rdfs:label "pre consumer share" ;
    rdfs:comment """<div>Recycled material share from pre-consumer waste (manufacturing waste, excluding run-around scrap) of the active material.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:recycledMaterial a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:RecycledContentEntity ;
    rdfs:range bp:RecycledMaterialDatatype ;
    rdfs:label "recycled material" ;
    rdfs:comment """<div>Name of recycled material</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:postConsumerShare a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:RecycledContentEntity ;
    rdfs:range bp:PercentageDatatype ;
    rdfs:label "post consumer share" ;
    rdfs:comment """<div>Recycled material share from post-consumer waste (end-of-life scrap) of the active material.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:safetyInstructions a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SafetyMeasuresEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "safety instructions" ;
    rdfs:comment """<div>Safety measures and necessary safety instructions to handle waste batteries, including in relation to the risks associated with, and the handling of, batteries containing lithium.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:extinguishingAgent a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SafetyMeasuresEntity ;
    rdfs:range xsd:string ;
    rdfs:label "extinguishing agent" ;
    rdfs:comment """<div>Usable extinguishing agents referring to classes of extinguishers (A, B, C, D, K).</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:wastePrevention a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:EndOfLifeInformationEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "waste prevention" ;
    rdfs:comment """<div>Prevention and management of waste batteries Information on the role of end-users in contributing to waste prevention.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:separateCollection a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:EndOfLifeInformationEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "separate collection" ;
    rdfs:comment """<div>Prevention and management of waste batteries Information on the role of end-users in contributing to the separate collection of waste batteries.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:informationOnCollection a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:EndOfLifeInformationEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "information on collection" ;
    rdfs:comment """<div>Prevention and management of waste batteries Information on the separate collection, the take back, the collection points.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:addressCountry a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:PostalAddress ;
    rdfs:range xsd:string ;
    rdfs:label "address country" ;
    rdfs:comment """<div>The country. For example, Germany.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:postalCode a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:PostalAddress ;
    rdfs:range xsd:string ;
    rdfs:label "postal code" ;
    rdfs:comment """<div>The postal code. For example, DE-10719.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:streetAddress a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:PostalAddress ;
    rdfs:range xsd:string ;
    rdfs:label "street address" ;
    rdfs:comment """<div>The street address. For example, Street 1.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:partName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:ComponentEntity ;
    rdfs:range xsd:string ;
    rdfs:label "part name" ;
    rdfs:comment """<div>Name of the component part.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:partNumber a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:ComponentEntity ;
    rdfs:range xsd:string ;
    rdfs:label "part number" ;
    rdfs:comment """<div>Part Number of Component</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:dismantlingAndRemovalInformation a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:Circularity ;
    rdfs:range bp:DismantlingandRemovalDocumentation ;
    rdfs:label "dismantling and removal information" ;
    rdfs:comment """<div>Dismantling and Removal information</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:sparePartSources a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:Circularity ;
    rdfs:range bp:SparePartSupplierEntity ;
    rdfs:label "spare part sources" ;
    rdfs:comment """<div>Contact details of sources for replacement spares</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:recycledContent a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:Circularity ;
    rdfs:range bp:RecycledContentEntity ;
    rdfs:label "recycled content" ;
    rdfs:comment """<div>Share of material recovered from waste</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:safetyMeasures a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:Circularity ;
    rdfs:range bp:SafetyMeasuresEntity ;
    rdfs:label "safety measures" ;
    rdfs:comment """<div>Safety measures and instructions</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:endOfLifeInformation a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:Circularity ;
    rdfs:range bp:EndOfLifeInformationEntity ;
    rdfs:label "end of life information" ;
    rdfs:comment """<div>Information on end-of-life handling</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:productIdentifier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range xsd:string ;
    rdfs:label "product identifier" ;
    rdfs:comment """<div>Unique identifier for battery and passport</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryPassportIdentifier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range bp:BatteryPassportIdentifierDatatype ;
    rdfs:label "battery passport identifier" ;
    rdfs:comment """<div>Unique identifier for battery passport</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryCategory a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range bp:BatteryCategoryDatatype ;
    rdfs:label "battery category" ;
    rdfs:comment """<div>Battery category (LMT, EV, industrial, stationary)</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:manufacturingDate a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range xsd:dateTimeStamp ;
    rdfs:label "manufacturing date" ;
    rdfs:comment """<div>Manufacturing date of battery</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryStatus a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range bp:BatteryStatusDatatype ;
    rdfs:label "battery status" ;
    rdfs:comment """<div>Lifecycle status of battery</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryMass a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range xsd:float ;
    rdfs:label "battery mass" ;
    rdfs:comment """<div>Mass of entire battery in kilograms</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:manufacturerInformation a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range bp:ContactInformationEntity ;
    rdfs:label "manufacturer information" ;
    rdfs:comment """<div>Manufacturer identification information</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:operatorInformation a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range bp:ContactInformationEntity ;
    rdfs:label "operator information" ;
    rdfs:comment """<div>Operator contact information</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:manufacturingPlace a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range bp:PostalAddressEntity ;
    rdfs:label "manufacturing place" ;
    rdfs:comment """<div>Manufacturing facility location</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:puttingIntoService a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range xsd:dateTime ;
    rdfs:label "putting into service" ;
    rdfs:comment """<div>The battery passport must include information on the date of putting the battery into service. DIN DKE Spec chapter reference: 6.1.3.3</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:warrentyPeriod a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:GeneralProductInformation ;
    rdfs:range xsd:gMonth ;
    rdfs:label "warrenty period" ;
    rdfs:comment """<div>The battery passport must include information about the period for which the commercial warranty applies. DIN DKE Spec chapter reference: 6.1.3.4</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:contactName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:ContactInformationEntity ;
    rdfs:range xsd:string ;
    rdfs:label "contact name" ;
    rdfs:comment """<div>Name of the contact.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:identifier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:ContactInformationEntity ;
    rdfs:range xsd:string ;
    rdfs:label "identifier" ;
    rdfs:comment """<div>Economic operator code identifier.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:emailAddress a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:ContactInformationEntity ;
    rdfs:range bp:EmailAddressDatatype ;
    rdfs:label "email address" ;
    rdfs:comment """<div>Email address.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:webAddress a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:ContactInformationEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "web address" ;
    rdfs:comment """<div>Web address.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:postalAddress a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:ContactInformationEntity ;
    rdfs:range bp:PostalAddressEntity ;
    rdfs:label "postal address" ;
    rdfs:comment """<div>Postal address of the contact.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:gpiAddressCountry a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:PostalAddressEntity ;
    rdfs:range xsd:string ;
    rdfs:label "address country" ;
    rdfs:comment """<div>The country. For example, DE.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:gpiPostalCode a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:PostalAddressEntity ;
    rdfs:range xsd:string ;
    rdfs:label "postal code" ;
    rdfs:comment """<div>The postal code. For example, 10719.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:gpiStreetAddress a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:PostalAddressEntity ;
    rdfs:range xsd:string ;
    rdfs:label "street address" ;
    rdfs:comment """<div>The street address. For example, Hindenburgstr. 10.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:declarationOfConformity a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:Labeling ;
    rdfs:range xsd:anyURI ;
    rdfs:label "declaration of conformity" ;
    rdfs:comment """<div>EU declaration of conformity</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:resultOfTestReport a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:Labeling ;
    rdfs:range xsd:anyURI ;
    rdfs:label "result of test report" ;
    rdfs:comment """<div>URL to test report results</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:labels a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:Labeling ;
    rdfs:range bp:LabelingEntity ;
    rdfs:label "labels" ;
    rdfs:comment """<div>Battery labels and symbols</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:labelingSymbol a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:LabelingEntity ;
    rdfs:range xsd:anyURI ;
    rdfs:label "labeling symbol" ;
    rdfs:comment """<div>URL to labeling symbol image</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:labelingMeaning a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:LabelingEntity ;
    rdfs:range rdf:langString ;
    rdfs:label "labeling meaning" ;
    rdfs:comment """<div>Explanation of symbol meaning</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:labelingSubject a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:LabelingEntity ;
    rdfs:range bp:LabelingSubjectDatatype ;
    rdfs:label "labeling subject" ;
    rdfs:comment """<div>Labeling subject category</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryChemistry a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:MaterialComposition ;
    rdfs:range bp:BatteryChemistryEntity ;
    rdfs:label "battery chemistry" ;
    rdfs:comment """<div>Battery chemistry composition</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryMaterials a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:MaterialComposition ;
    rdfs:range bp:BatteryMaterialEntity ;
    rdfs:label "battery materials" ;
    rdfs:comment """<div>Component materials used</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstances a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:MaterialComposition ;
    rdfs:range bp:HazardousSubstanceEntity ;
    rdfs:label "hazardous substances" ;
    rdfs:comment """<div>Hazardous substances in battery</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:shortName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryChemistryEntity ;
    rdfs:range xsd:string ;
    rdfs:label "short name" ;
    rdfs:comment """<div>Short name of battery chemistry</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:clearName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryChemistryEntity ;
    rdfs:range xsd:string ;
    rdfs:label "clear name" ;
    rdfs:comment """<div>Clear name of battery chemistry</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryMaterialIdentifier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryMaterialEntity ;
    rdfs:range bp:CASNumberDatatype ;
    rdfs:label "battery material identifier" ;
    rdfs:comment """<div>CAS Number</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryMaterialName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryMaterialEntity ;
    rdfs:range xsd:string ;
    rdfs:label "battery material name" ;
    rdfs:comment """<div>Name of material</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryMaterialMass a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryMaterialEntity ;
    rdfs:range xsd:float ;
    rdfs:label "battery material mass" ;
    rdfs:comment """<div>Weight of component material in grams</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:isCriticalRawMaterial a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryMaterialEntity ;
    rdfs:range xsd:boolean ;
    rdfs:label "is critical raw material" ;
    rdfs:comment """<div>Whether material is critical raw material</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:batteryMaterialLocation a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:BatteryMaterialEntity ;
    rdfs:range bp:BatteryLocationEntity ;
    rdfs:label "battery material location" ;
    rdfs:comment """<div>Battery component that relates to the material</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstanceClass a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:HazardousSubstanceEntity ;
    rdfs:range bp:HazardousSubstanceClassDatatype ;
    rdfs:label "hazardous substance class" ;
    rdfs:comment """<div>Battery Regulation narrows reporting to substances falling under defined hazard classes and categories of the CLP regulation.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstanceName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:HazardousSubstanceEntity ;
    rdfs:range xsd:string ;
    rdfs:label "hazardous substance name" ;
    rdfs:comment """<div>Clear name of hazardous substance</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstanceConcentration a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:HazardousSubstanceEntity ;
    rdfs:range xsd:double ;
    rdfs:label "hazardous substance concentration" ;
    rdfs:comment """<div>Concentration of hazardous substance in percent</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstanceImpact a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:HazardousSubstanceEntity ;
    rdfs:range xsd:string ;
    rdfs:label "hazardous substance impact" ;
    rdfs:comment """<div>Impact statements based on, e.g., REACH or GHS for all hazard classes applicable to substances in the battery.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstanceIdentifier a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:HazardousSubstanceEntity ;
    rdfs:range bp:CASNumberDatatype ;
    rdfs:label "hazardous substance identifier" ;
    rdfs:comment """<div>CAS identifier of hazardous substance</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:hazardousSubstanceLocation a rdf:Property, owl:ObjectProperty ;
    rdfs:domain bp:HazardousSubstanceEntity ;
    rdfs:range bp:BatteryLocationEntity ;
    rdfs:label "hazardous substance location" ;
    rdfs:comment """<div>Location on a (sub-)component-level of all hazardous substances.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:componentName a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryLocationEntity ;
    rdfs:range xsd:string ;
    rdfs:label "component name" ;
    rdfs:comment """<div>Name of battery component.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:componentId a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:BatteryLocationEntity ;
    rdfs:range xsd:string ;
    rdfs:label "component id" ;
    rdfs:comment """<div>Identifier of substance component.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:supplyChainDueDiligenceReport a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SupplyChainDueDiligence ;
    rdfs:range xsd:anyURI ;
    rdfs:label "supply chain due diligence report" ;
    rdfs:comment """<div>Supply chain due diligence report URL</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:thirdPartyAussurances a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SupplyChainDueDiligence ;
    rdfs:range xsd:anyURI ;
    rdfs:label "third party assurances" ;
    rdfs:comment """<div>Third-party supply chain assurances</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:supplyChainIndicies a rdf:Property, owl:DatatypeProperty ;
    rdfs:domain bp:SupplyChainDueDiligence ;
    rdfs:range xsd:float ;
    rdfs:label "supply chain indices" ;
    rdfs:comment """<div>Supply chain sustainability indices</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

# Class definitions
bp:CarbonFootprintForBatteries a rdfs:Class ;
    rdfs:label "Carbon Footprint for Batteries" ;
    rdfs:comment """<div>The battery passport must contain carbon footprint per functional unit of the battery as declared in the battery carbon footprint declaration in accordance with the entry into force of the implementing acts on the format of declaration. Reference: REGULATION (EU) 2023/1542 aka EU Battery Regulation</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
    rdfs:seeAlso <https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32023R1542> ;
.

bp:CarbonFootprintPerLifecycleStageEntity a rdfs:Class ;
    rdfs:label "Carbon Footprint Per Lifecycle Stage Entity" ;
    rdfs:comment """<div>The carbon footprint of the battery as share of total Battery Carbon Footprint, differentiated per life cycle stage raw material extraction, main production, distribution and end of life and recycling.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:Unit a rdfs:Class ;
    rdfs:label "Unit" ;
    rdfs:comment """<div>Class for units of measurement</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:Circularity a rdfs:Class ;
    rdfs:label "Circularity" ;
    rdfs:comment """<div>Battery circularity information including dismantling, spare parts, recycled content, safety measures, and end-of-life information.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:DismantlingandRemovalDocumentation a rdfs:Class ;
    rdfs:label "Dismantling and Removal Documentation" ;
    rdfs:comment """<div>Dismantling and Removal information, including at least: Exploded diagrams of the battery system/pack showing the location of battery cells, disassembly sequences, type and number of fastening techniques to be unlocked, tools required for disassembly, warnings if risk of damaging parts exists, amount of cells used and layout.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:SparePartSupplierEntity a rdfs:Class ;
    rdfs:label "Spare Part Supplier Entity" ;
    rdfs:comment """<div>The part numbers for components should be provided together with the postal address, e-mail address and web address of the sources for spare parts.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:RecycledContentEntity a rdfs:Class ;
    rdfs:label "Recycled Content Entity" ;
    rdfs:comment """<div>A battery passport must include recycled content information. The content information must include the percentage share of materials that have been recovered from battery manufacturing waste, for each battery model per year and per manufacturing plant.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:SafetyMeasuresEntity a rdfs:Class ;
    rdfs:label "Safety Measures Entity" ;
    rdfs:comment """<div>The safety measures should be provided via the instruction manual as URL linking to PDF.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:EndOfLifeInformationEntity a rdfs:Class ;
    rdfs:label "End Of Life Information Entity" ;
    rdfs:comment """<div>Information on end-of-life handling, waste prevention, and collection.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:PostalAddress a rdfs:Class ;
    rdfs:label "Postal Address" ;
    rdfs:comment """<div>A postal address.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
    rdfs:seeAlso <https://schema.org/PostalAddress> ;
.

bp:ComponentEntity a rdfs:Class ;
    rdfs:label "Component Entity" ;
    rdfs:comment """<div>Component information including part name and number.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:GeneralProductInformation a rdfs:Class ;
    rdfs:label "General Product Information" ;
    rdfs:comment """<div>General product information for battery passport including product identification, manufacturer information, manufacturing details, battery category, and status.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:ContactInformationEntity a rdfs:Class ;
    rdfs:label "Contact Information Entity" ;
    rdfs:comment """<div>Contact information including name, postal address, identifier, and optional email and web address.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:PostalAddressEntity a rdfs:Class ;
    rdfs:label "Postal Address Entity" ;
    rdfs:comment """<div>A postal address with country, postal code, and street address.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
    rdfs:seeAlso <https://schema.org/PostalAddress> ;
.

bp:Labeling a rdfs:Class ;
    rdfs:label "Labeling" ;
    rdfs:comment """<div>Battery labeling information including declaration of conformity, test reports, and labels.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:LabelingEntity a rdfs:Class ;
    rdfs:label "Labeling Entity" ;
    rdfs:comment """<div>Entity for the definition of required battery labeling including symbol, meaning, and subject.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:MaterialComposition a rdfs:Class ;
    rdfs:label "Material Composition" ;
    rdfs:comment """<div>Battery material composition including battery chemistry, battery materials, and hazardous substances.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:BatteryChemistryEntity a rdfs:Class ;
    rdfs:label "Battery Chemistry Entity" ;
    rdfs:comment """<div>Detailed composition, including materials used in the cathode, anode, and electrolyte. All common cells have two electrodes and an electrolyte. The specific combination of materials used to make these components is called 'chemistry'.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:BatteryMaterialEntity a rdfs:Class ;
    rdfs:label "Battery Material Entity" ;
    rdfs:comment """<div>Detailed composition, including materials used in the cathode, anode, and electrolyte.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:HazardousSubstanceEntity a rdfs:Class ;
    rdfs:label "Hazardous Substance Entity" ;
    rdfs:comment """<div>Hazardous substances contained in the battery other than mercury, cadmium or lead. Substance as a chemical element and its compounds in the natural state or the result of a manufacturing process.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:BatteryLocationEntity a rdfs:Class ;
    rdfs:label "Battery Location Entity" ;
    rdfs:comment """<div>Battery component that includes the material.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:SupplyChainDueDiligence a rdfs:Class ;
    rdfs:label "Supply Chain Due Diligence" ;
    rdfs:comment """<div>Battery supply chain due diligence information including responsible sourcing reports and third-party assurances.</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.



# Definitions of datatypes
bp:LifecycleStageDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "RawMaterialExtraction|MainProduction|Distribution|Recycling"]) ;
    rdfs:label "Lifecycle Stage" ;
    rdfs:comment """<div>Enumeration of battery lifecycle stages as string values</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:DocumentTypeDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "BillOfMaterial|Model3D|DismantlingManual|RemovalManual|OtherManual|Drawing"]) ;
    rdfs:label "Document Type" ;
    rdfs:comment """<div>Enumeration of document types</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:RecycledMaterialDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "Cobalt|Nickel|Lithium|Lead"]) ;
    rdfs:label "Recycled Material" ;
    rdfs:comment """<div>Enumeration of recyclable materials</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:EmailAddressDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "^[\w.-]+@[\w.-]+\.[A-Za-z]{2,}$"]) ;
    rdfs:label "Email Address" ;
    rdfs:comment """<div>Valid email address format</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:PercentageDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:float ;
    rdfs:label "Percentage" ;
    rdfs:comment """<div>Percentage value between 0 and 100</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:BatteryCategoryDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "lmt|ev|industrial|stationary"]) ;
    rdfs:label "Battery Category" ;
    rdfs:comment """<div>Enumeration of battery categories</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:BatteryStatusDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "Original|Repurposed|Reused|Remanufactured|Waste"]) ;
    rdfs:label "Battery Status" ;
    rdfs:comment """<div>Lifecycle status enumeration</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:BatteryPassportIdentifierDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "^urn:[a-z0-9]+:[a-z0-9]+$"]) ;
    rdfs:label "Battery Passport Identifier" ;
    rdfs:comment """<div>URN format identifier for battery passport</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:LabelingSubjectDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "SeparateCollection|HazardousMaterial|CarbonFootPrint|ExtinguishingAgent"]) ;
    rdfs:label "Labeling Subject" ;
    rdfs:comment """<div>Enumeration of labeling subjects</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:HazardousSubstanceClassDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "AcuteToxicity|SkinCorrosionOrIrritation|EyeDamageOrIrritation"]) ;
    rdfs:label "Hazardous Substance Class" ;
    rdfs:comment """<div>Enumeration of hazardous substance classes</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

bp:CASNumberDatatype a rdfs:Datatype ;
    rdfs:subClassOf xsd:string ;
    owl:onDatatype xsd:string ;
    owl:withRestrictions ([xsd:pattern "^\d{2,7}-\d{2}-\d{1}$"]) ;
    rdfs:label "CAS Number" ;
    rdfs:comment """<div>Chemical Abstracts Service (CAS) Registry Number format</div>"""^^rdf:HTML ;
    rdfs:isDefinedBy <urn:samm:io.BatteryPass.Merged:1.2.0#> ;
    vs:term_status "stable" ;
.

# Context files and their mentions
<vocab> a jsonld:Context ;
    schema:mentions
        bp:BatteryCategoryDatatype,
        bp:BatteryChemistryEntity,
        bp:BatteryLocationEntity,
        bp:BatteryMaterialEntity,
        bp:BatteryPassportIdentifierDatatype,
        bp:BatteryStatusDatatype,
        bp:CASNumberDatatype,
        bp:CarbonFootprintForBatteries,
        bp:CarbonFootprintPerLifecycleStageEntity,
        bp:Circularity,
        bp:ComponentEntity,
        bp:ContactInformationEntity,
        bp:DismantlingandRemovalDocumentation,
        bp:DocumentTypeDatatype,
        bp:EmailAddressDatatype,
        bp:EndOfLifeInformationEntity,
        bp:GeneralProductInformation,
        bp:HazardousSubstanceClassDatatype,
        bp:HazardousSubstanceEntity,
        bp:Labeling,
        bp:LabelingEntity,
        bp:LabelingSubjectDatatype,
        bp:LifecycleStageDatatype,
        bp:MaterialComposition,
        bp:PercentageDatatype,
        bp:PostalAddress,
        bp:PostalAddressEntity,
        bp:RecycledContentEntity,
        bp:RecycledMaterialDatatype,
        bp:SafetyMeasuresEntity,
        bp:SparePartSupplierEntity,
        bp:SupplyChainDueDiligence,
        bp:Unit,
        bp:absoluteCarbonFootprint,
        bp:addressCountry,
        bp:addressOfSupplier,
        bp:batteryCarbonFootprint,
        bp:batteryCategory,
        bp:batteryChemistry,
        bp:batteryMass,
        bp:batteryMaterialIdentifier,
        bp:batteryMaterialLocation,
        bp:batteryMaterialMass,
        bp:batteryMaterialName,
        bp:batteryMaterials,
        bp:batteryPassportIdentifier,
        bp:batteryStatus,
        bp:carbonFootprint,
        bp:carbonFootprintPerLifecycleStage,
        bp:carbonFootprintPerformanceClass,
        bp:carbonFootprintStudy,
        bp:clearName,
        bp:commonCode,
        bp:componentId,
        bp:componentName,
        bp:components,
        bp:contactName,
        bp:declarationOfConformity,
        bp:dismantlingAndRemovalInformation,
        bp:documentType,
        bp:documentURL,
        bp:emailAddress,
        bp:emailAddressOfSupplier,
        bp:endOfLifeInformation,
        bp:extinguishingAgent,
        bp:gpiAddressCountry,
        bp:gpiPostalCode,
        bp:gpiStreetAddress,
        bp:hasUnit,
        bp:hazardousSubstanceClass,
        bp:hazardousSubstanceConcentration,
        bp:hazardousSubstanceIdentifier,
        bp:hazardousSubstanceImpact,
        bp:hazardousSubstanceLocation,
        bp:hazardousSubstanceName,
        bp:hazardousSubstances,
        bp:identifier,
        bp:informationOnCollection,
        bp:isCriticalRawMaterial,
        bp:labelingMeaning,
        bp:labelingSubject,
        bp:labelingSymbol,
        bp:labels,
        bp:lifecycleStage,
        bp:manufacturerInformation,
        bp:manufacturingDate,
        bp:manufacturingPlace,
        bp:mimeType,
        bp:nameOfSupplier,
        bp:operatorInformation,
        bp:partName,
        bp:partNumber,
        bp:postConsumerShare,
        bp:postalAddress,
        bp:postalCode,
        bp:preConsumerShare,
        bp:productIdentifier,
        bp:puttingIntoService,
        bp:recycledContent,
        bp:recycledMaterial,
        bp:referenceUnit,
        bp:renewableContent,
        bp:resultOfTestReport,
        bp:safetyInstructions,
        bp:safetyMeasures,
        bp:separateCollection,
        bp:shortName,
        bp:sparePartSources,
        bp:streetAddress,
        bp:supplierWebAddress,
        bp:supplyChainDueDiligenceReport,
        bp:supplyChainIndicies,
        bp:symbol,
        bp:thirdPartyAussurances,
        bp:warrentyPeriod,
        bp:wastePrevention,
        bp:webAddress ;
.

