The Advertising Measurement Ontology represents one measured quantity per observation, including the qualifiers needed to decide whether observations from different reports or providers are comparable, additive, or incompatible.
This is an unofficial specification of version 0.1.0 of this Inferal ontology module. The vocabulary remains a draft.
Feedback should be sent to contact@inferal.com.
The key words MUST, MUST NOT, SHOULD, SHOULD NOT, and MAY in this document are to be interpreted as described in BCP 14 when, and only when, they appear in all capitals.
RDF data conforms to the vocabulary when it uses the terms according to their normative meanings below. A data producer claiming closed-world conformance MUST also satisfy the SHACL graph distributed with this module. OWL and RDFS entailment do not imply that an omitted value is false.
| Prefix | Namespace IRI |
|---|---|
adm | https://ontology.inferal.com/modules/advertising-measurement/ |
This module covers metric observations, metric kinds, typed values, monetary amounts, reporting windows, attribution bases, breakdown dimensions, advertising channels, publisher surfaces, wire encodings, and time-bounded hierarchy membership.
Advertising entity definitions, targeting, creative payloads, budgets, bidding, delivery state, and currency conversion are outside this module. Observation subjects may refer to resources defined elsewhere.
A provider report row can contain many measures. Producers MUST create a separate metric observation for each measured quantity so its kind, value, window, grain, attribution basis, channel, and breakdown set remain explicit.
Consumers MUST compare metric kind, subject, grain, reporting window, attribution basis, breakdown set, value type, and currency where relevant before comparing or adding observations. Agreement on a provider field name is insufficient.
Producers MAY declare adm:revisionSeries and adm:revisionObservedAt together. A series covers co-captured reports of one subject, reporting window, grain, currency, full breakdown scope and source family. Producers MUST validate scope consistency before assigning its IRI. Capture time MUST be a single timezone-qualified datetime; it is neither event time nor a provider write transaction. The latest represented qualified capture supersedes earlier measures together, including measures absent in the latest capture. Different kinds at one capture are normal; duplicate same-kind observations at an equal capture, or incomplete/conflicting capture evidence, are ambiguous and MUST NOT be ordered by the comparison or spend queries. Unversioned observations remain supplied figures without an inferred latest order. Observation-only metadata cannot reveal newer deliveries that emit no qualified observations.
The qualified comparison and spend queries compare reporting-window UTC boundaries and inclusive flags rather than requiring provider window-IRI identity. Money and cost rates require equal currencies. Conflicting endpoint aliases or inclusivity flags MUST NOT qualify as a single window. Equivalent fractional timestamp forms MUST compare equally while preserving actual subsecond differences. Spend totals retain separate currency and basis groups, require eligible windows to be IRIs and return an existing window IRI as a deterministic representative of each semantic window group. Callers remain responsible for selecting disjoint populations and compatible breakdown scope. Snapshot membership rejects an upper-inclusivity flag without its bound and honors inclusive endpoints and closed point evidence; a point snapshot MUST NOT be extended into continuous history. These rules apply to qualified snapshot membership, observation comparability and spend totals; other inspection and diagnostic capabilities retain their stated scope.
Count and monetary values can be additive when all qualifiers agree. Distinct count, ratio and cost rate values are not additive. A distinct count, such as reach, counts each person once in every figure that covers them, so consumers MUST NOT sum distinct count values across subjects, breakdown slices, or reporting windows. Monetary comparisons additionally require a shared currency unless an external conversion policy is applied.
A breakdown partitions a measured population and is not a hierarchy tier. An unsliced total and its slices MUST NOT be summed together. Hierarchy membership is reified with a validity window so historical rollups use the parent that applied then.
Every term in this section is exported for cross-reference. Definitions state the term's meaning; the relations column summarizes declared RDFS and SKOS links. Closed-world cardinalities are specified separately in Validation.
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adm:AttributedMetricKind |
Class | A metric kind whose figure is produced by crediting outcomes to advertising under an attribution rule, rather than counted directly from delivery. | Subclass of: adm:MetricKind |
adm:AttributionBasis |
Class | The attribution model and lookback window under which a measured quantity was computed. Two observations computed under different bases are not comparable even when their kind and grain agree. | No local domain or range restriction. |
adm:AttributionModel |
Class | The rule assigning credit for an outcome to prior advertising interactions, such as last click, first click, linear, or a provider's proprietary model. | Subclass of: skos:Concept |
adm:Breakdown |
Class | A binding of one partitioning dimension to one of its values, qualifying an observation as covering only that slice of the measured population. | No local domain or range restriction. |
adm:BreakdownDimension |
Class | An axis along which a measured population can be partitioned, such as placement, device, or country. | Subclass of: skos:Concept |
adm:Channel |
Class | The advertising platform an advertiser buys through, distinct from the publisher property delivery occurred on. | Subclass of: skos:Concept |
adm:CostRateValue |
Class | An amount of money per unit of something counted, such as cost per click or cost per thousand impressions. Not additive, and not comparable across currencies. | Subclass of: adm:MetricValue |
adm:CountValue |
Class | A non-negative count of discrete occurrences, such as impressions, clicks, or conversions. Counts are additive across observations that agree on kind, grain, and attribution basis. | Subclass of: adm:MetricValue |
adm:CreditedInteraction |
Class | The kind of prior interaction an attribution basis will credit for an outcome, such as a click on the ad or merely an impression of it. | Subclass of: skos:Concept |
adm:DistinctCountValue |
Class | A non-negative count of distinct people or devices, such as reach. Not additive across subjects, breakdown slices, or reporting windows, because one person can be counted in each. | Subclass of: adm:MetricValue |
adm:HierarchyMembership |
Class | A first-class, time-bounded occurrence of one advertising resource being contained by another: an ad in an ad group, an ad group in a campaign, a campaign in an advertiser account. | No local domain or range restriction. |
adm:MetricKind |
Class | The phenomenon an observation measures, independent of any provider's name or wire encoding for it. | Subclass of: skos:Concept |
adm:MetricObservation |
Class | A single measured quantity about one advertising resource, qualified by the reporting window it covers, the grain it was reported at, the attribution basis under which it was computed, and any dimensions it is partitioned by. One provider report row yields as many observations as it carries measures. | Subclass of: prov:Entity |
adm:MetricValue |
Class | A measured magnitude carried by an observation, canonicalised to a decimal and typed by what kind of quantity it is. | No local domain or range restriction. |
adm:MonetaryAmount |
Class | An amount of money as a decimal quantity in major units paired with the ISO 4217 code of its currency. | No local domain or range restriction. |
adm:MonetaryValue |
Class | A quantity of money, such as spend or conversion value. Additive only among observations sharing a currency. | Subclass of: adm:MetricValue |
adm:ObservationGrain |
Class | The tier of the advertising hierarchy that an observation's subject occupies: advertiser account, campaign, ad group, or individual ad. | No local domain or range restriction. |
adm:PlacementSurface |
Class | The surface within a publisher property that an ad occupied, such as an in-feed slot, a stories card, a reel, or a right-hand column. Named a surface rather than a placement because it is a kind of position, not the commitment that put an ad there. | Subclass of: skos:Concept |
adm:PublisherPlatform |
Class | The property an ad was delivered on, such as Facebook, Instagram, Messenger, or a partner audience network. | Subclass of: skos:Concept |
adm:RatioValue |
Class | A derived quotient such as click-through rate, cost per click, or return on ad spend. Not additive under any circumstances. | Subclass of: adm:MetricValue |
adm:ReportingWindow |
Class | The interval of time an observation's value covers, expressed as a range over temporal instants. | Subclass of: rng:Range |
adm:SpineComparability |
Class | The datatype that values beneath one shared term compare as, whatever datatype each provider sends. | No local domain or range restriction. |
adm:WireEncoding |
Class | The relation between the literal a provider field carries and the canonical magnitude an observation records. | No local domain or range restriction. |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adm:amountValue |
Property | The numeric quantity of a monetary amount, in major units of its currency. | Domain: adm:MonetaryAmount; Range: xsd:decimal |
adm:attributionBasis |
Property | The model and lookback window under which the observation's value was computed. | Domain: adm:MetricObservation; Range: adm:AttributionBasis |
adm:breakdownDimension |
Property | The axis a breakdown partitions along. | Domain: adm:Breakdown; Range: adm:BreakdownDimension |
adm:breakdownValue |
Property | The value of the dimension this breakdown selects, such as a particular placement or country. | Domain: adm:Breakdown; Range: rdfs:Resource |
adm:canonicalMagnitude |
Property | The value's magnitude as a decimal, in major currency units for monetary values and in whole or fractional occurrences for counts. Provider wire encodings such as minor units and micros are converted on the way in. | Domain: adm:MetricValue; Range: xsd:decimal |
adm:comparableAs |
Property | The datatype a reader casts values to before comparing them across providers. | Domain: adm:SpineComparability; Range: rdfs:Datatype |
adm:containedIn |
Property | The containing advertising resource of a hierarchy membership: the ad group for an ad, the campaign for an ad group, the account for a campaign. | Domain: adm:HierarchyMembership; Range: rdfs:Resource |
adm:containedResource |
Property | The contained advertising resource of a hierarchy membership. | Domain: adm:HierarchyMembership; Range: rdfs:Resource |
adm:costRateValue |
Property | A provider field carrying money per counted unit, such as cost per click or cost per thousand impressions. Not additive, and not comparable across currencies. | Subproperty of: adm:metricValue |
adm:countValue |
Property | A provider field counting discrete occurrences, such as impressions, clicks, or conversions. Additive across observations that agree on kind, grain, and attribution basis. | Subproperty of: adm:metricValue |
adm:creditedInteraction |
Property | The kind of interaction this basis credits. A basis crediting views and one crediting clicks are not comparable even at the same lookback duration. | Domain: adm:AttributionBasis; Range: adm:CreditedInteraction |
adm:currencyCode |
Property | The ISO 4217 alphabetic code of a monetary amount's currency. | Domain: adm:MonetaryAmount; Range: xsd:string |
adm:currencySource |
Property | The provider field carrying the ISO 4217 code that applies to a monetary field's value. | Domain: rdf:Property; Range: rdf:Property |
adm:lookbackWindow |
Property | The interval before an outcome within which a prior interaction can receive credit under this basis. | Domain: adm:AttributionBasis; Range: rng:Range |
adm:lowersBy |
Property | The divisor carrying a literal in this encoding to the canonical magnitude. | Domain: adm:WireEncoding; Range: xsd:decimal |
adm:lowersByCurrencyExponent |
Property | Whether the divisor is ten raised to the ISO 4217 exponent of the value's currency. | Domain: adm:WireEncoding; Range: xsd:boolean |
adm:lowersTo |
Property | The datatype a literal in this encoding carries once lowered. | Domain: adm:WireEncoding; Range: rdfs:Datatype |
adm:metricKind |
Property | The phenomenon the observation measures. | Domain: adm:MetricObservation; Range: adm:MetricKind |
adm:metricValue |
Property | The common ancestor of every provider field that reports a measured advertising quantity. A provider field declares itself beneath this property, or beneath one of its arithmetic subproperties, with rdfs:subPropertyOf. | No local domain or range restriction. |
adm:monetaryValue |
Property | A provider field carrying a quantity of money, such as spend, cost, or a budget ceiling. Additive only among values sharing a currency and a unit encoding. | Subproperty of: adm:metricValue |
adm:observationBreakdown |
Property | A dimension-value pair the observation is sliced by. An observation may carry several, one per dimension. Carrying none means the observation covers the whole population for its subject and window. | Domain: adm:MetricObservation; Range: adm:Breakdown |
adm:observationGrain |
Property | The hierarchy tier the observation's subject occupies. | Domain: adm:MetricObservation; Range: adm:ObservationGrain |
adm:observationSubject |
Property | The advertising resource the observation measures. | Domain: adm:MetricObservation; Range: rdfs:Resource |
adm:observedChannel |
Property | The advertising platform the observation's subject was delivered through. | Domain: adm:MetricObservation; Range: adm:Channel |
adm:observedValue |
Property | The measured magnitude the observation carries. | Domain: adm:MetricObservation; Range: adm:MetricValue |
adm:rateDenominatorMetric |
Property | The metric kind a derived kind divides by, so a rate states what it is per. | Domain: adm:MetricKind; Range: adm:MetricKind |
adm:ratioValue |
Property | A provider field carrying a derived quotient, such as click-through rate or frequency. Not additive under any circumstances. | Subproperty of: adm:metricValue |
adm:reportingWindow |
Property | The interval of time the observation's value covers. | Domain: adm:MetricObservation; Range: adm:ReportingWindow |
adm:revisionSeries |
Property | Producer-declared series of co-captured reports for the same subject, reporting window, grain, currency, full breakdown scope and source family. The latest represented qualified capture supersedes earlier measures together. | Domain: adm:MetricObservation; Range: rdfs:Resource |
adm:revisionObservedAt |
Property | Timezone-qualified report capture time within a declared series, present exactly when revisionSeries is present. Newer deliveries with no qualified observations are outside this evidence. | Domain: adm:MetricObservation; Range: xsd:dateTime |
adm:spineTerm |
Property | The shared term whose values this resource describes. | Domain: adm:SpineComparability; Range: rdf:Property |
adm:usedAttributionModel |
Property | The credit-assignment rule the attribution basis applies. | Domain: adm:AttributionBasis; Range: adm:AttributionModel |
adm:validityWindow |
Property | The interval during which a hierarchy membership held. An open upper bound means the containment is current. | Domain: adm:HierarchyMembership; Range: rng:Range |
adm:valueAmount |
Property | The monetary amount a monetary value or cost-rate value carries. | Domain: adm:MetricValue, and in the OWL addendum the union of adm:MonetaryValue and adm:CostRateValue; Range: adm:MonetaryAmount |
adm:windowEnd |
Property | The instant a reporting window closes. Omitted when the window is unbounded above, as for a lifetime total. | Subproperty of: rng:upperBound; Domain: adm:ReportingWindow; Range: time:Instant |
adm:windowStart |
Property | The instant a reporting window opens. Omitted when the window is unbounded below. | Subproperty of: rng:lowerBound; Domain: adm:ReportingWindow; Range: time:Instant |
adm:wireEncoding |
Property | The encoding of the literal a provider field carries. | Domain: rdf:Property; Range: adm:WireEncoding |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adm:ageDimension |
Concept | Partition by an age band. Band boundaries are provider-specific and are not interchangeable across platforms. | Scheme: adm:BreakdownDimensionScheme |
adm:audienceNetworkPlatform |
Concept | Delivery on third-party inventory syndicated by the buying platform. | Scheme: adm:PublisherPlatformScheme |
adm:audienceSegmentDimension |
Concept | Partition by a targeting or audience segment. | Scheme: adm:BreakdownDimensionScheme |
adm:chatgptAdsChannel |
Concept | Buying through ChatGPT Ads, the advertising platform that places ads in ChatGPT conversations. | Scheme: adm:ChannelScheme |
adm:clicks |
Concept | Number of times an ad was clicked. | Scheme: adm:MetricKindScheme |
adm:clickThroughCredit |
Concept | An interaction in which the person clicked the ad before the credited outcome. | Scheme: adm:CreditedInteractionScheme |
adm:clickThroughRate |
Concept | Clicks divided by impressions, expressed canonically as a fractional quotient rather than percentage points. Derived and not additive. | Scheme: adm:MetricKindScheme |
adm:conversions |
Concept | Number of outcomes credited to advertising under the observation's attribution basis. | Scheme: adm:MetricKindScheme |
adm:conversionValue |
Concept | Monetary worth of the outcomes credited to advertising. | Scheme: adm:MetricKindScheme |
adm:costPerClick |
Concept | Spend divided by clicks. Derived and not additive. | Scheme: adm:MetricKindScheme |
adm:costPerMille |
Concept | Spend divided by impressions, scaled to a thousand. Derived and not additive. | Scheme: adm:MetricKindScheme |
adm:costPerThousandReached |
Concept | Spend divided by reach, scaled to a thousand. Distinct from cost per mille because reach counts people and impressions count renderings. | Scheme: adm:MetricKindScheme |
adm:countryDimension |
Concept | Partition by the country the impression was served in. | Scheme: adm:BreakdownDimensionScheme |
adm:deviceDimension |
Concept | Partition by the class of device the ad was rendered on. | Scheme: adm:BreakdownDimensionScheme |
adm:engagedViewCredit |
Concept | Credit is assigned where the person watched to a provider-defined threshold without clicking. | Scheme: adm:CreditedInteractionScheme |
adm:engagement |
Concept | Number of interactions with an ad other than clicks. | Scheme: adm:MetricKindScheme |
adm:exposureCountDimension |
Concept | Partition by how many times a person was exposed, reported as buckets such as one, several, or many. The same word names a measure elsewhere in this module, and the two are different things: one counts exposures, the other groups people by their exposure count. | Scheme: adm:BreakdownDimensionScheme |
adm:facebookPlatform |
Concept | Delivery on Facebook properties. | Scheme: adm:PublisherPlatformScheme |
adm:feedPlacement |
Concept | An in-feed surface within a social or content stream. | Scheme: adm:PlacementScheme |
adm:firstClickModel |
Concept | All credit assigned to the first click in the path. | Scheme: adm:AttributionModelScheme |
adm:frequency |
Concept | Average number of times each reached person saw an ad. Derived from impressions and reach, and not additive. | Scheme: adm:MetricKindScheme |
adm:genderDimension |
Concept | Partition by a reported gender category, including an unknown category that providers populate heavily. | Scheme: adm:BreakdownDimensionScheme |
adm:googleAdsChannel |
Concept | Buying through Google Ads. | Scheme: adm:ChannelScheme |
adm:impressions |
Concept | Number of times an ad was rendered. | Scheme: adm:MetricKindScheme |
adm:inAppSearchResultsPlacement |
Concept | A results surface of a search inside an app or platform, distinct from a search engine's results page. | Scheme: adm:PlacementScheme |
adm:instagramPlatform |
Concept | Delivery on Instagram properties. | Scheme: adm:PublisherPlatformScheme |
adm:inStreamVideoPlacement |
Concept | A position inside video playback. | Scheme: adm:PlacementScheme |
adm:lastClickModel |
Concept | All credit assigned to the final click before the outcome. | Scheme: adm:AttributionModelScheme |
adm:linearModel |
Concept | Credit divided evenly across all interactions in the path. | Scheme: adm:AttributionModelScheme |
adm:linkedinChannel |
Concept | Buying through LinkedIn advertising. | Scheme: adm:ChannelScheme |
adm:marketAreaDimension |
Concept | Partition by a designated media market. Market definitions are licensed and platform-specific. | Scheme: adm:BreakdownDimensionScheme |
adm:marketplacePlacement |
Concept | A position within a commerce listing surface. | Scheme: adm:PlacementScheme |
adm:messengerPlatform |
Concept | Delivery in Messenger. | Scheme: adm:PublisherPlatformScheme |
adm:metaChannel |
Concept | Buying through Meta advertising. | Scheme: adm:ChannelScheme |
adm:microsoftAdsChannel |
Concept | Buying through Microsoft Advertising, which serves search and audience ads on Bing and partner inventory. | Scheme: adm:ChannelScheme |
adm:pinterestChannel |
Concept | Buying through Pinterest advertising. | Scheme: adm:ChannelScheme |
adm:placementDimension |
Concept | Partition by the position within a publisher property. Values are instances of Placement. | Scheme: adm:BreakdownDimensionScheme |
adm:providerProprietaryModel |
Concept | A provider's undisclosed model. Distinct per provider: two proprietary models are never interchangeable, and an observation using one must record which provider's rule applied. | Scheme: adm:AttributionModelScheme |
adm:publisherPlatformDimension |
Concept | Partition by the property the ad was delivered on. Values are instances of PublisherPlatform. | Scheme: adm:BreakdownDimensionScheme |
adm:reach |
Concept | Number of distinct people who saw an ad. Not additive across subjects, breakdown slices, or reporting windows: a person reached by two ads, in two slices, or on two days is counted in each figure, and once in a figure covering both. | Scheme: adm:MetricKindScheme |
adm:reelsPlacement |
Concept | A position within a short-form vertical video surface. | Scheme: adm:PlacementScheme |
adm:regionDimension |
Concept | Partition by a sub-national region. Region naming is provider-specific and does not align across platforms without a crosswalk. | Scheme: adm:BreakdownDimensionScheme |
adm:returnOnAdSpend |
Concept | Conversion value divided by spend. Derived and not additive. | Scheme: adm:MetricKindScheme |
adm:searchResultsPlacement |
Concept | A surface on a search engine results page. | Scheme: adm:PlacementScheme |
adm:sidebarPlacement |
Concept | A position in a column beside the main content, reported by some providers as a right-hand column. | Scheme: adm:PlacementScheme |
adm:snapchatChannel |
Concept | Buying through Snapchat advertising. Present because measurement platforms report spend against it even where no direct integration exists. | Scheme: adm:ChannelScheme |
adm:spend |
Concept | Amount of money charged for delivery. | Scheme: adm:MetricKindScheme |
adm:storiesPlacement |
Concept | A full-screen ephemeral surface between organic story cards. | Scheme: adm:PlacementScheme |
adm:tiktokChannel |
Concept | Buying through TikTok advertising. Present because measurement platforms report spend against it even where no direct integration exists. | Scheme: adm:ChannelScheme |
adm:unknownPlatform |
Concept | The platform was not reported. Providers populate this materially, and dropping such rows silently understates any platform-partitioned total. | Scheme: adm:PublisherPlatformScheme |
adm:videoFeedPlacement |
Concept | A position within a browsable video surface, distinct from playback itself. | Scheme: adm:PlacementScheme |
adm:videoView |
Concept | Number of times video creative was watched to a provider-defined threshold. | Scheme: adm:MetricKindScheme |
adm:viewThroughCredit |
Concept | Credit is assigned on an impression alone, with no click. View-through figures are typically far larger than click-through ones for the same campaign. | Scheme: adm:CreditedInteractionScheme |
adm:xChannel |
Concept | Buying through X advertising, the platform formerly named Twitter. Present because measurement platforms report spend against it, some still under the name Twitter, even where no direct integration exists. | Scheme: adm:ChannelScheme |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
adm:AttributionModelScheme |
Concept scheme | Controlled vocabulary of credit-assignment rules. | No local domain or range restriction. |
adm:BreakdownDimensionScheme |
Concept scheme | Controlled vocabulary of axes along which advertising measures are partitioned. | No local domain or range restriction. |
adm:ChannelScheme |
Concept scheme | Controlled vocabulary of platforms an advertiser buys through. | No local domain or range restriction. |
adm:CreditedInteractionScheme |
Concept scheme | Controlled vocabulary of interaction kinds an attribution basis credits. | No local domain or range restriction. |
adm:MetricKindScheme |
Concept scheme | Controlled vocabulary of the phenomena advertising observations measure. | No local domain or range restriction. |
adm:PlacementScheme |
Concept scheme | Cross-provider anchors for delivery surfaces. Provider profiles extend this scheme with their own surfaces rather than redefining these. | No local domain or range restriction. |
adm:PublisherPlatformScheme |
Concept scheme | Properties advertising is delivered on. Extended by provider profiles. | No local domain or range restriction. |
Instances of adm:WireEncoding. A reader divides a provider literal by the divisor and reads the result as the datatype; adm:wireEncoding states which encoding a provider field uses.
| Encoding | Divisor | Lowers to | Meaning |
|---|---|---|---|
adm:MajorUnits |
1 | xsd:decimal |
A quantity already in the currency's major unit, such as 12.34 for twelve units and thirty-four subunits. Lowered to the canonical magnitude unchanged. |
adm:MinorUnits |
10 to the currency's ISO 4217 exponent | xsd:decimal |
An integer count of the currency's minor unit, such as 1234 for twelve units and thirty-four subunits. |
adm:Micros |
1000000 | xsd:decimal |
An integer count of millionths of the quantity's unit, lowered by dividing by one million. For money the unit is the currency's major unit, so 12340000 is twelve units and thirty-four subunits; for a dimensionless factor or fraction the unit is one, so 1500000 is a multiplier of one and a half. |
adm:CountOccurrences |
1 | xsd:decimal |
A quantity counting occurrences rather than money, lowered to a decimal so that an apportioned fraction survives the conversion. |
adm:UnitFraction |
1 | xsd:decimal |
A dimensionless quotient carried as a fraction of one, such as 0.1 for one tenth. |
adm:Percent |
100 | xsd:decimal |
A dimensionless quotient scaled by one hundred, such as 2.12 for 2.12 percent. Lowered by dividing by one hundred, to the fraction of one that :UnitFraction describes: 2.12 lowers to 0.0212. |
adm:Quotient |
1 | xsd:decimal |
A dimensionless quotient read as it stands, which may exceed one, such as 1.89 impressions per person reached. |
adm:DurationSeconds |
1 | xsd:decimal |
A length of time counted in seconds, such as 12.5 for twelve and a half seconds. Read as a number of seconds, the unit :durationComparability compares lengths of time in. |
adm:DurationMilliseconds |
1000 | xsd:decimal |
A length of time counted in milliseconds, such as 1500 for one and a half seconds. Divided by one thousand and read as a number of seconds, the unit :durationComparability compares lengths of time in. |
adm:EpochSeconds |
1 | xsd:dateTime |
A count of seconds since 1970-01-01T00:00:00Z, such as 1700000000 for 2023-11-14T22:13:20Z. |
adm:EpochMilliseconds |
1000 | xsd:dateTime |
A count of milliseconds since 1970-01-01T00:00:00Z, such as 1700000000000 for 2023-11-14T22:13:20Z. |
The module's SHACL constraints provide the closed-world conformance profile. The following requirements summarize the constraints that affect ordinary data producers.
Controlled vocabularies use SKOS so provider profiles MAY add narrower or matched concepts without replacing the shared classes. Extensions MUST preserve the meanings and constraints of terms they reuse. A mapping MUST NOT assert equivalence merely because two provider fields have similar labels.
Breakdowns can expose small audience segments, locations, or inferred attributes. Publishers SHOULD aggregate, suppress, or restrict slices where re-identification is possible. This vocabulary does not supply access control, consent, or currency conversion.