@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix on: <https://vocab.uncece-test.workers.dev/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://vocab.uncece-test.workers.dev/term-status/> .
@prefix unece: <https://vocab.uncece-test.workers.dev/> .
@prefix unece-mod: <https://vocab.uncece-test.workers.dev/module/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

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: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 rdf:langString,
        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 a thing."@en ;
    schema:domainIncludes unece:Event,
        unece:Service ;
    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 "An occurrence happening at a specific point in time, involving one or more entities and usually a location."@en ;
    unece:objectNature on:entity ;
    unece:termStatus ts:proposed .

