@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:criterionScoringFramework a owl:ObjectProperty ;
    rdfs:label "criterion scoring framework"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The scoring framework applied to the profile's criteria."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:ScoringFramework ;
    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:documentation a owl:DatatypeProperty ;
    rdfs:label "documentation"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "A URI to documentation of the scheme, criterion or profile."@en ;
    schema:domainIncludes unece:ConformityProfile,
        unece:Criterion,
        unece:Scheme,
        unece:SchemeDeclaration ;
    schema:rangeIncludes xsd:anyURI ;
    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:includesCriterion a owl:ObjectProperty ;
    rdfs:label "includes criterion"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "A criterion included in the profile."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:Criterion ;
    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:objectType a owl:ObjectProperty ;
    rdfs:label "object type"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:comment "code → assessment-object-type scheme."@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The type of object of conformity assessment the profile assesses (product, facility or organisation), aligned with ISO/IEC 17000:2020."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:assessment-object-type ;
    unece:termStatus ts:proposed .

unece:optionalCriteria a owl:ObjectProperty ;
    rdfs:label "optional criteria"@en ;
    dcterms:provenance "Proposed Vocab addition — not from BSP/UNTP; pending governance approval."@en ;
    rdfs:comment "code → optional-criteria scheme."@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "Whether and how the criteria listed for the profile are mandatory. Warns a consumer that a profile pass may not require every listed criterion; where minimum thresholds or alternative pathways apply, the scoring framework carries the detail. Mandatory for every profile."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:optional-criteria ;
    unece:termStatus ts:proposed .

unece:profileScheme a owl:ObjectProperty ;
    rdfs:label "profile scheme"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The scheme managing the profile."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:Scheme ;
    unece:termStatus ts:proposed .

unece:regulatoryAlignment a owl:ObjectProperty ;
    rdfs:label "regulatory alignment"@en ;
    rdfs:comment "Attestation dropped from the domain: an attestation now states the regulation it is designed to serve through coverage, which carries no outcome, and the regulation behind an individual rule through that criterion's criteriaType."@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "A regulation that the referenced requirements are designed to meet."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:Regulation ;
    unece:termStatus ts:proposed .

unece:scope a owl:ObjectProperty ;
    rdfs:label "scope"@en ;
    rdfs:comment "Open code list — the classification scope of the profile, a sector-defined list bound downstream."@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The classification scope of the profile."@en ;
    schema:domainIncludes unece:ConformityProfile ;
    schema:rangeIncludes unece:any-code ;
    unece:termStatus ts:proposed .

unece:standardAlignment a owl:ObjectProperty ;
    rdfs:label "standard alignment"@en ;
    rdfs:comment "Attestation dropped from the domain: an attestation now states the standard it is designed to serve through coverage, which carries no outcome, and the standard behind an individual rule through that criterion's criteriaType."@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "A standard that the referenced requirements are designed to meet."@en ;
    schema:domainIncludes unece:ConformityProfile,
        unece:ProcessDeclaration ;
    schema:rangeIncludes unece:Standard ;
    unece:termStatus ts:proposed .

unece:status a owl:ObjectProperty ;
    rdfs:label "status"@en ;
    rdfs:comment "code → criterion-status scheme."@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The lifecycle status of a criterion or profile."@en ;
    schema:domainIncludes unece:ConformityProfile,
        unece:Criterion,
        unece:Scheme,
        unece:SchemeDeclaration ;
    schema:rangeIncludes unece:criterion-status ;
    unece:termStatus ts:proposed .

unece:validFrom a owl:DatatypeProperty ;
    rdfs:label "valid from"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The date from which the profile is valid."@en ;
    schema:domainIncludes unece:ConformityProfile,
        unece:Scheme,
        unece:SchemeDeclaration ;
    schema:rangeIncludes xsd:date ;
    unece:termStatus ts:proposed .

unece:version a owl:DatatypeProperty ;
    rdfs:label "version"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "The version of a criterion or profile."@en ;
    schema:domainIncludes unece:ConformityProfile,
        unece:Criterion,
        unece:Scheme ;
    schema:rangeIncludes xsd:string ;
    unece:termStatus ts:proposed .

unece:ConformityProfile a owl:Class ;
    rdfs:label "Conformity Profile"@en ;
    rdfs:isDefinedBy unece-mod:conformity ;
    skos:definition "A versioned description of a conformity scheme, or subset of a conformity scheme, in terms of broad scheme activity elements, without including the detailed assessment criteria. A conformity profile may be as broad as differentiating environmental from safety assessment streams, or as granular as representing specific standards."@en ;
    unece:objectNature on:entity ;
    unece:termStatus ts:proposed .

