@prefix age: <https://ontology.inferal.com/profiles/report-delivery-age/0.1.0/> .
@prefix ms: <https://ontology.inferal.com/profiles/relay-advertising/microsoftads/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix mod: <https://w3id.org/mod#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prof: <http://www.w3.org/ns/dx/prof/> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

age: a owl:Ontology, prof:Profile, pubacc:PublicationManagedOntology ;
    prof:isProfileOf ms: ;
    dcterms:accessRights pubacc:PublicAccess ;
    dcterms:title "Report delivery age policy" ;
    dcterms:description "Customer-selected download-time cutoffs and explicit review instants for assessing one retained Microsoft report delivery independently of report completeness." ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    dcterms:source <https://ontology.inferal.com/mappings/relay-microsoftads-advertising/queries/report-delivery-status.rq> ;
    dcterms:references ms: ;
    vann:preferredNamespacePrefix "age" ;
    vann:preferredNamespaceUri "https://ontology.inferal.com/profiles/report-delivery-age/0.1.0/" ;
    mod:status "draft" ;
    owl:versionInfo "0.1.0" ;
    owl:versionIRI <https://ontology.inferal.com/profiles/report-delivery-age/0.1.0/ontology.ttl> ;
    rdfs:label "report delivery age policy" ;
    rdfs:comment "A diagnostic profile over the Microsoft report delivery vocabulary. Download age does not establish complete data, latest revision, native source truth or live provider freshness. The base business-report shapes are not this diagnostic validation regime." .

age:AgePolicy a rdfs:Class ;
    rdfs:label "download age policy" ;
    rdfs:comment "A caller-identified policy selecting the earliest acceptable report download instant. A changed cutoff identifies a new policy version; no default threshold is supplied." .

age:AgeReview a rdfs:Class ;
    rdfs:label "download age review" ;
    rdfs:comment "A caller-identified selection of one report delivery, one policy and one evaluation instant. Its answer is computed against the explicitly supplied graph; preserve that graph and this interpretation version to reproduce a historical answer." .

age:AgeStanding a rdfs:Class ;
    rdfs:label "download age standing" ;
    rdfs:comment "A controlled result of comparing one unambiguous usable download timestamp with a review interval, or of withholding comparison when that source evidence is unqualified." .

age:delivery a rdf:Property ;
    rdfs:label "selected report delivery" ;
    rdfs:comment "The one retained Microsoft report delivery selected by a review. Other deliveries and their timestamps cannot repair its missing evidence." ;
    rdfs:domain age:AgeReview ; rdfs:range ms:ReportDelivery .

age:policy a rdf:Property ;
    rdfs:label "selected download age policy" ;
    rdfs:comment "The explicit policy used by this review. Selecting a policy does not assert that the customer approved any provider operation." ;
    rdfs:domain age:AgeReview ; rdfs:range age:AgePolicy .

age:evaluatedAt a rdf:Property ;
    rdfs:label "age evaluation instant" ;
    rdfs:comment "The explicit timezone-bearing instant at which the selected download age is assessed, within years 0001-9999 and at most six fractional digits. It is an input, not an implicit system clock or package generation time." ;
    rdfs:domain age:AgeReview ; rdfs:range xsd:dateTime .

age:earliestDownloadAt a rdf:Property ;
    rdfs:label "earliest acceptable download instant" ;
    rdfs:comment "The inclusive customer-selected cutoff, within years 0001-9999 and at most six fractional digits. It must not be later than the evaluation instant of a review using the policy; calendar durations are not inferred." ;
    rdfs:domain age:AgePolicy ; rdfs:range xsd:dateTime .

age:WithinLimit a age:AgeStanding ; rdfs:label "within download age limit" ;
    rdfs:comment "Exactly one usable download instant lies on or between the selected cutoff and evaluation instant. Completeness and provider currentness remain separate." .
age:TooOld a age:AgeStanding ; rdfs:label "download too old" ;
    rdfs:comment "Exactly one usable download instant precedes the selected inclusive cutoff. This states age under the declared policy, not a provider fault." .
age:Unknown a age:AgeStanding ; rdfs:label "download age unknown" ;
    rdfs:comment "The selected delivery has no single usable timezone-bearing download timestamp. Missing, malformed, unsupported and multiple source terms do not become a favourable age result." .
age:FutureDated a age:AgeStanding ; rdfs:label "download dated after evaluation" ;
    rdfs:comment "The one usable download instant follows the explicit evaluation instant. This comparison does not identify a faulty clock or explain the cause." .
