A report can be the newest retained delivery and still be too old for a particular review. This profile defines explicit download-age policies and supports analysts evaluating one selected Microsoft report delivery against their earliest acceptable download instant. It keeps download age independent of report completeness, reporting dates, capture time and current provider state. Missing or ambiguous download evidence produces an explicit unknown result.
This is the unofficial version 0.1.0 Editor's Draft maintained by Inferal. Publication describes an opt-in diagnostic contract; it does not attest a live integration or client-engine acceptance.
Analysts and agent developers need to know what a statement such as “recent enough” actually means. A timestamp alone supplies no acceptable age, and selecting the latest retained delivery supplies no age limit. A review therefore selects both a policy and an evaluation instant. A validator checks those inputs; a query evaluator compares the selected source evidence.
The profile adopts the existing Microsoft advertising profile meanings of report delivery and download time. Its existing delivery diagnostics explicitly leave the acceptable age to the customer.
The profile assesses one delivery's recorded download instant in one explicit retained graph. It does not fetch a provider, select a latest revision, reconstruct a complete account history, or replace a missing download time with another clock. Report completeness and advertising decisions require their own qualification.
Callers identify policies and reviews with named IRIs. A changed cutoff identifies a new policy version. A review's identity is retained with its selected policy, evaluation instant and source graph; changing those inputs requires a separately retained review context. An equal timestamp does not make two report deliveries identical. No OWL key or equivalence is asserted.
Does the selected report delivery meet the customer-selected download-age limit at the explicit evaluation instant, and which retained timestamp or evidence gap determines that answer? The following decision table and worked examples define the answer contract.
The prefix age: identifies
https://ontology.inferal.com/profiles/report-delivery-age/0.1.0/.
ms: identifies the Microsoft advertising profile. Its
ReportDelivery class and downloadedAt property remain
unchanged. The diagnostic validator does not apply the base business-report
shapes, which require complete daily metric inputs. This separation is what
allows an incomplete or missing-timestamp delivery to be inspected.
RDFS states local types and property domains and ranges. SHACL owns cardinalities and context validation; SPARQL owns comparison. No OWL addendum is needed. Range models comparable resources, while this contract compares timestamp literals directly. Evidence argumentation is not needed for this bounded declared-policy calculation.
This profile constrains review selections over the Microsoft report delivery vocabulary without changing its source meanings. A policy supplies an inclusive cutoff, and a review selects that policy, a delivery and an evaluation instant. The source graph supplies the download evidence independently. The permitted interval includes both endpoints. This small decision table is the visual explanation: it shows the boundaries more directly than a relationship diagram.
| Selected download evidence | Result |
|---|---|
| One usable instant before the cutoff | TooOld |
| One usable instant on or between cutoff and evaluation | WithinLimit |
| One usable instant after evaluation | FutureDated |
| Missing, multiple, malformed or unsupported timestamp terms | Unknown |
The keywords MUST, MUST NOT and SHOULD express the obligations of this profile. A conforming publisher preserves the versioned contract. A conforming review graph MUST identify one policy, delivery and timezone-bearing evaluation instant, and one timezone-bearing policy cutoff not after evaluation. A validator MUST apply this diagnostic profile without imposing the business completeness shapes on source deliveries. Each selected node MUST have an explicit type equal to the required class, or a type connected to it by declared RDFS subclass relationships in the supplied graph. The validator and evaluator MUST support these subclass paths without requiring a separate inference pass. Multiple applicable type paths MUST NOT duplicate an answer.
A conforming evaluator MUST retain the selected graph boundary, count distinct original download RDF terms before conversion, and compare only the single qualified download timestamp. Invalid review context MUST be refused; it does not become a successful empty business answer. Source timestamp defects MUST remain inspectable as Unknown. Cardinality is a closed-world validation claim, not an OWL consequence.
The SELECT result identifies review, delivery, policy, evaluation instant,
cutoff, unambiguous original download term, distinct timestamp count and
computed standing. Download evidence is usable when exactly one literal has
datatype xsd:dateTime or xsd:dateTimeStamp, includes
an explicit timezone, and belongs to this profile's supported comparison
domain. That domain requires a real calendar date in years 0001-9999, clock
hours 00-23, minutes and seconds 00-59, zero to six fractional-second digits,
and no whitespace. The timezone is Z or a signed offset through
fourteen hours; at fourteen hours its minute component must be zero.
A string that resembles a date, an invalid calendar date and a timezone-less
literal do not qualify. Evaluation and cutoff use
xsd:dateTime within the same lexical domain.
This domain provides exact comparison at microsecond precision in the
supported evaluators. Finer source precision preserved in the supplied RDF
graph MUST produce Unknown rather than being rounded.
Unsupported cutoff or evaluation values MUST fail
context validation. Some otherwise valid XML Schema values, such as a
twenty-four-hour clock spelling or a larger year, are outside this profile's
portable domain. A malformed offset such as +14:01 is never
usable source evidence.
The evaluator operates on a supplied RDF graph. If an input reader refuses an unsupported typed literal before preserving that graph, the processor MUST report an input-parsing failure. It MUST NOT report an age standing or successful compliance from that failure. Unknown describes an assessment of preserved source evidence; it does not assert that every reader can load every unsupported lexical form.
Two different RDF timestamp terms remain ambiguous even if their instants compare equal. RDF set semantics remove duplicate identical triples, and this contract cannot recover lexical forms normalized before the graph was supplied. A parser SHOULD preserve original RDF literal terms. Other deliveries, reporting dates, capture timestamps and generation times cannot fill a missing download timestamp. Completeness is never inferred from a favourable age result.
For invalid review context, including multiple selections or a cutoff after evaluation, SHACL rejects the input and the reference query cannot produce a favourable result. The query uses the declared evaluation input; it never reads an implicit system time. Reproduction requires the retained input graph and interpretation version, not only a policy label.
The first review accepts downloads since noon on the previous day. Its delivery was downloaded one hour before evaluation, so the result is WithinLimit even though completeness is explicitly false. This composition demonstrates why age cannot authorize a business total.
At either exact interval endpoint the result remains WithinLimit. One instant before the cutoff is TooOld; one after evaluation is FutureDated. The latter identifies a temporal inconsistency with this review, without explaining its cause. If the delivery instead has no download timestamp, the same otherwise valid review produces Unknown.
The next example is valid Turtle but an invalid review context: its cutoff is later than evaluation. The diagnostic validator rejects it, and the evaluator cannot treat a recent-looking source timestamp as policy compliance.
Each property domain and range below supports RDFS type inference; it does not enforce validation. The diagnostic shape supplies the stated cardinality.
Version 0.1.0 is additive and opt-in. Consumers can select its versioned interpretation snapshot and retain an exact repository revision for dependency reproducibility. Future changes to these meanings require a new version while retaining earlier snapshots. This profile uses a directly versioned namespace; no moving current alias is required. Profile publication does not change the upstream Microsoft API version.
The source graph can be sensitive and should be handled under its own access policy. Assessment creates no credentials, provider calls, write authorization or scheduled polling. A caller declaration and a successful local comparison do not independently authenticate the source timestamp.