@prefix dcterms: <http://purl.org/dc/terms/> .
@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:description a owl:DatatypeProperty ;
    rdfs:label "description"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "A textual description of an item."@en ;
    skos:exactMatch schema:description ;
    schema:domainIncludes unece:TradeItem ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:eventClassifier a owl:DatatypeProperty ;
    rdfs:label "event classifier"@en ;
    rdfs:comment "code → event-classifier scheme (Phase 3)."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "Whether the event is PLANNED, ESTIMATED or ACTUAL."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:eventLocation a owl:ObjectProperty ;
    rdfs:label "event location"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The location at which the event occurs."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes unece:Location ;
    unece:termStatus ts:proposed .

unece:eventRecordTime a owl:DatatypeProperty ;
    rdfs:label "event record time"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The date-time at which the event was recorded, as distinct from when it occurred (eventTime). Corresponds to the EPCIS 2.0 recordTime concept."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes xsd:dateTimeStamp ;
    unece:termStatus ts:proposed .

unece:eventSubject a owl:ObjectProperty ;
    rdfs:label "event subject"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The entity the event concerns — the thing whose lifecycle the event acts on or observes (for example a product, a transport movement, a consignment, or an item of transport equipment). The expected types are indicative, not exhaustive."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes unece:Consignment,
        unece:Product,
        unece:Shipment,
        unece:TradeDocument,
        unece:TransportEquipment,
        unece:TransportMovement ;
    unece:termStatus ts:proposed .

unece:eventTime a owl:DatatypeProperty ;
    rdfs:label "event time"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The date-time at which the event occurs."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes xsd:dateTimeStamp ;
    unece:termStatus ts:proposed .

unece:eventTypeCode a owl:ObjectProperty ;
    rdfs:label "event type code"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The category of the event (for example arrival, departure, loading, inspection). Its value domain is not a single global list: the permitted values are the transition triggers defined by the lifecycle of the event's subject entity (eventSubject), so 'arrival' is valid for a transport movement but not for a product batch. The concrete values are bound per subject entity by the lifecycle DSL and its generated SHACL (see methodology/entity-lifecycle.md); unece:event-type is the abstract open scheme that types this property."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes unece:event-type ;
    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: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 xsd:string ;
    unece:termStatus ts:proposed .

unece:responsibleParty a owl:ObjectProperty ;
    rdfs:label "responsible party"@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:definition "The party responsible for the event."@en ;
    schema:domainIncludes unece:Event ;
    schema:rangeIncludes unece:Party ;
    unece:termStatus ts:proposed .

unece:Event a owl:Class ;
    rdfs:label "Event"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:isDefinedBy unece-mod:core ;
    skos:closeMatch schema:Event ;
    skos:definition "A punctual occurrence at a point in time: the supertype of the domain-specific events (production make/move/modify, transport arrive/depart/load/discharge). It carries the metadata common to all events — time, location, responsible party, subject and type — while domain-specific detail lives on its subclasses. An event is also how a change in its subject entity's lifecycle state is recorded."@en ;
    unece:objectNature on:entity ;
    unece:termStatus ts:proposed .

