@prefix on: <https://test.uncefact.org/vocabulary/object-nature/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@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.uncefact.org/vocabulary/term-status/> .
@prefix unece: <https://test.uncefact.org/vocabulary/> .
@prefix unece-mod: <https://test.uncefact.org/vocabulary/module/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

unece:availabilityPeriod a owl:ObjectProperty ;
    rdfs:label "availability period"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The period over which a component is expected to remain available as a spare part."@en ;
    schema:domainIncludes unece:Component ;
    schema:rangeIncludes unece:Period ;
    unece:termStatus ts:proposed .

unece:componentPassport a owl:ObjectProperty ;
    rdfs:label "component passport"@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A link to the component's own product passport, where one exists."@en ;
    schema:domainIncludes unece:Component ;
    schema:rangeIncludes unece:Link ;
    unece:termStatus ts:proposed .

unece:idScheme a owl:ObjectProperty ;
    rdfs:label "ID scheme"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:closeMatch schema:propertyID ;
    skos:definition "The scheme under which this identifier is registered."@en ;
    schema:domainIncludes unece:Classification,
        unece:Component,
        unece:Identifier,
        unece:SubstanceOfConcern ;
    schema:rangeIncludes unece:IdentifierScheme ;
    unece:termStatus ts:proposed .

unece:quantity a owl:ObjectProperty ;
    rdfs:label "quantity"@en ;
    rdfs:comment "Also the count or amount of a component used in a bill of materials. Ranged on Measure rather than a plain number because a bill of materials mixes units: twelve cell modules is a count (UN/CEFACT code H87), and the copper in a wiring loom is a mass. The unit is always explicit and a reader should not infer one from the component type."@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "The quantity of product involved, as a measure."@en ;
    schema:domainIncludes unece:Component ;
    schema:rangeIncludes unece:Measure ;
    unece:termStatus ts:proposed .

unece:sparePart a owl:DatatypeProperty ;
    rdfs:label "spare part"@en ;
    rdfs:comment "A property of the bill-of-materials entry, not of the part itself. The same physical part may be a spare in one product and not in another, so the flag must not be inherited from the passport referenced by unece:componentPassport."@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "Whether this component is available separately as a spare part."@en ;
    schema:domainIncludes unece:Component ;
    schema:rangeIncludes xsd:boolean ;
    unece:termStatus ts:proposed .

unece:Component a owl:Class ;
    rdfs:label "Component"@en ;
    rdfs:comment "The referenced part is itself a product; this class identifies it and records how it is used, rather than restating what its own passport says."@en ;
    rdfs:isDefinedBy unece-mod:production ;
    skos:definition "A discrete, identifiable constituent part of a product as it appears in a bill of materials, together with the quantity used and its availability as a spare part."@en ;
    unece:objectNature on:value ;
    unece:termStatus ts:proposed .

