@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix on: <https://test-vocab.trade-commons.org/object-nature/> .
@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 schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix ts: <https://test-vocab.trade-commons.org/term-status/> .
@prefix unece: <https://test-vocab.trade-commons.org/> .
@prefix unece-mod: <https://test-vocab.trade-commons.org/module/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

unece:applicableProductionProcess a owl:ObjectProperty ;
    rdfs:label "applicable production process"@en ;
    rdfs:comment "added from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A production process applicable to a product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:ProductionProcess ;
    unece:termStatus ts:proposed .

unece:batchNumber a owl:DatatypeProperty ;
    rdfs:label "batch number"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The batch/lot number of the product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:brandRangeName a owl:DatatypeProperty ;
    rdfs:label "brand range name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The brand range name, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:commonName a owl:DatatypeProperty ;
    rdfs:label "common name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A common name of a product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:countryOfProduction a owl:ObjectProperty ;
    rdfs:label "country of production"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:comment "Distinct from originCountry, which on a material is where that material came from. Neither is the customs country of origin, which is a determination under a particular trade agreement's rules and is carried as a claim."@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The country of the facility where this product was manufactured or assembled."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:country-id ;
    unece:termStatus ts:proposed .

unece:description a owl:DatatypeProperty ;
    rdfs:label "description"@en ;
    rdfs:comment "Universal on entities (injected by the renderers); value objects that need it opt in via an explicit domain."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "A textual description of an item."@en ;
    skos:exactMatch schema:description ;
    schema:domainIncludes unece:TradeItem,
        unece:TradePrice ;
    schema:rangeIncludes rdf:langString,
        xsd:string ;
    unece:termStatus ts:proposed .

unece:designation a owl:DatatypeProperty ;
    rdfs:label "designation"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A designation, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:dimensions a owl:ObjectProperty ;
    rdfs:label "dimensions"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The overall dimensions of the product, package, consignment item or transport means."@en ;
    schema:domainIncludes unece:ConsignmentItem,
        unece:Product,
        unece:ProductPackage,
        unece:TransportMeans,
        unece:TransportPackage ;
    schema:rangeIncludes unece:Dimension ;
    unece:termStatus ts:proposed .

unece:endItemName a owl:DatatypeProperty ;
    rdfs:label "end item name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "An end item name, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:expiryDate a owl:DatatypeProperty ;
    rdfs:label "expiry date"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The expiry/best-before date of the product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:date ;
    unece:termStatus ts:proposed .

unece:idGranularity a owl:ObjectProperty ;
    rdfs:label "ID granularity"@en ;
    rdfs:comment "code → product-ID-granularity scheme."@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The identification granularity of the product (class, batch, item)."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:product-idgranularity ;
    unece:termStatus ts:proposed .

unece:identifier a owl:ObjectProperty ;
    rdfs:label "identifier"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:closeMatch schema:identifier ;
    skos:definition "An identifier of this entity within some scheme, as an Identifier value object; an entity may bear several (e.g. a GTIN and an internal SKU). Its own resolvable identity is the node URI (@id)."@en ;
    schema:rangeIncludes unece:Identifier ;
    unece:termStatus ts:proposed .

unece:includedComponent a owl:ObjectProperty ;
    rdfs:label "included component"@en ;
    rdfs:comment "Distinct from unece:materialProvenance, which records the materials a product is made of rather than the parts it is assembled from."@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A component or sub-assembly this product is made from; together these form its bill of materials."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Component ;
    unece:termStatus ts:proposed .

unece:includedProduct a owl:ObjectProperty ;
    rdfs:label "included product"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "An included product referenced from this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Product ;
    unece:termStatus ts:proposed .

unece:intendedUse a owl:DatatypeProperty ;
    rdfs:label "intended use"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "An intended use of a product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:itemNumber a owl:DatatypeProperty ;
    rdfs:label "item number"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The item/SKU number of the product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:mSRPPrice a owl:ObjectProperty ;
    rdfs:label "MSRP price"@en ;
    rdfs:comment "added from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The MSRP (Manufacturer Suggested Retail Price)."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:TradePrice ;
    unece:termStatus ts:proposed .

unece:materialProvenance a owl:ObjectProperty ;
    rdfs:label "material provenance"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A material the product is made from."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Material ;
    unece:termStatus ts:proposed .

unece:maximumLinearDimension a owl:ObjectProperty ;
    rdfs:label "maximum linear dimension"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "Maximum linear spatial dimensions of this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Dimension ;
    unece:termStatus ts:proposed .

unece:minimumLinearDimension a owl:ObjectProperty ;
    rdfs:label "minimum linear dimension"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "Minimum linear spatial dimensions of this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Dimension ;
    unece:termStatus ts:proposed .

unece:modelName a owl:DatatypeProperty ;
    rdfs:label "model name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The model name, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:modelNumber a owl:DatatypeProperty ;
    rdfs:label "model number"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The model number of the product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:name a owl:DatatypeProperty ;
    rdfs:label "name"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The name of an item."@en ;
    skos:exactMatch schema:name ;
    schema:domainIncludes unece:Identifier ;
    schema:rangeIncludes rdf:langString,
        xsd:string ;
    unece:termStatus ts:proposed .

unece:originCountry a owl:ObjectProperty ;
    rdfs:label "origin country"@en ;
    rdfs:comment "Origin is read per domain, because the question it answers differs. On a material it is the primary production country of that material by mass. On a consignment item or a customs declaration it is the country of origin in the customs sense, the place of last substantial transformation. Where a product was manufactured or assembled is countryOfProduction, not this property. An origin determination made under the rules of a particular trade agreement is a claim against that agreement's criteria rather than a value of this property."@en,
        "code → ISO 3166-1 scheme."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The country of origin, as an ISO 3166-1 code."@en ;
    schema:domainIncludes unece:ConsignmentItem,
        unece:DeclarationDetails,
        unece:Material,
        unece:Product ;
    schema:rangeIncludes unece:country-id ;
    unece:termStatus ts:proposed .

unece:packaging a owl:ObjectProperty ;
    rdfs:label "packaging"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The packaging of the product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:ProductPackage ;
    unece:termStatus ts:proposed .

unece:performanceClaim a owl:ObjectProperty ;
    rdfs:label "performance claim"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A performance claim about an entity."@en ;
    schema:domainIncludes unece:Facility,
        unece:Product,
        unece:ProductPackage ;
    schema:rangeIncludes unece:Claim ;
    unece:termStatus ts:proposed .

unece:producedAtFacility a owl:ObjectProperty ;
    rdfs:label "produced at facility"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The facility where the product was produced."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Facility ;
    unece:termStatus ts:proposed .

unece:productCategory a owl:ObjectProperty ;
    rdfs:label "product category"@en ;
    rdfs:comment "Ranges on the Classification value object rather than on a bare code, because a product is classified under CPC, ISIC, HS or a sector taxonomy depending on who is asking, so the scheme has to travel with the code. The GS1 close matches are code-valued and therefore looser than an exact match."@en,
        "Renamed from classificationCode. That name was unqualified in a flat namespace and said nothing about what it classified, and the term had absorbed productCategory while keeping the vaguer of the two names."@en,
        "re-added from BSP"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:closeMatch <https://ref.gs1.org/voc/additionalProductClassification>,
        <https://ref.gs1.org/voc/gpcCategoryCode> ;
    skos:definition "A classification of the product, drawn from a published classification scheme."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Classification ;
    unece:termStatus ts:proposed .

unece:productCharacteristics a owl:ObjectProperty ;
    rdfs:label "product characteristics"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A declaration of the product's conformance characteristics."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Characteristics ;
    unece:termStatus ts:proposed .

unece:productImage a owl:ObjectProperty ;
    rdfs:label "product image"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "An image of the product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Link ;
    unece:termStatus ts:proposed .

unece:productLabel a owl:ObjectProperty ;
    rdfs:label "product label"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The product label image."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Image ;
    unece:termStatus ts:proposed .

unece:productLine a owl:DatatypeProperty ;
    rdfs:label "product line"@en ;
    rdfs:comment "reshaped from BSP line"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A product line, such as a fashion product line, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:productionDate a owl:DatatypeProperty ;
    rdfs:label "production date"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The date, or date and time, the product was produced."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:date,
        xsd:dateTime ;
    unece:termStatus ts:proposed .

unece:qualityLevelCode a owl:DatatypeProperty ;
    rdfs:label "quality level code"@en ;
    rdfs:comment "re-added from BSP"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The code specifying the quality level for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:relatedDocument a owl:ObjectProperty ;
    rdfs:label "related document"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A related document link."@en ;
    schema:domainIncludes unece:Facility,
        unece:LifecycleEvent,
        unece:Product ;
    schema:rangeIncludes unece:Link ;
    unece:termStatus ts:proposed .

unece:relatedParty a owl:ObjectProperty ;
    rdfs:label "related party"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "A party related to this thing in some role, expressed as a party-role value object."@en ;
    schema:domainIncludes unece:Consignment,
        unece:Facility,
        unece:LifecycleEvent,
        unece:Product ;
    schema:rangeIncludes unece:PartyRole ;
    unece:termStatus ts:proposed .

unece:scientificName a owl:DatatypeProperty ;
    rdfs:label "scientific name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A scientific name, expressed as text, for this trade product instance."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:specifiedPrint a owl:ObjectProperty ;
    rdfs:label "specified print"@en ;
    rdfs:comment "added from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A product print specified for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Image ;
    unece:termStatus ts:proposed .

unece:specifiedSupplyPlan a owl:ObjectProperty ;
    rdfs:label "specified supply plan"@en ;
    rdfs:comment "added from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The specification of the delivery quantities and delivery date/time values in a supply plan for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:SupplyPlan ;
    unece:termStatus ts:proposed .

unece:subBrandName a owl:DatatypeProperty ;
    rdfs:label "sub brand name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The sub-brand name, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:substituteProduct a owl:ObjectProperty ;
    rdfs:label "substitute product"@en ;
    rdfs:comment "added from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A referenced product that may substitute for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes unece:Product ;
    unece:termStatus ts:proposed .

unece:tradeName a owl:DatatypeProperty ;
    rdfs:label "trade name"@en ;
    rdfs:comment "restored from BSP (default-keep re-triage)"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A trade name, expressed as text, for this trade product."@en ;
    schema:domainIncludes unece:Product ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:Product a owl:Class ;
    rdfs:label "Product"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:closeMatch <https://ref.gs1.org/voc/Product>,
        schema:Product ;
    skos:definition "Detailed information regarding a product, including its identity, provenance and characteristics."@en ;
    unece:objectNature on:entity ;
    unece:termStatus ts:proposed .

