The Advertising Budget Ontology separates a spending allowance into its amount, recurrence, pacing, scope, sharing behavior, and effective window. It also distinguishes a budget that directs delivery from a spend cap that only limits it.
This is an unofficial specification of version 0.4.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 |
|---|---|
abg | https://ontology.inferal.com/modules/advertising-budget/ |
This module covers reified budgets, budget periods, delivery methods, budget scopes, spend caps, and the effective intervals over which allowances apply.
Actual spend is an advertising metric observation. Auction bidding, forecasts, recommendations, and currency conversion are outside this module. Advertising entities are referenced through a scope but are not defined here.
A numeric amount alone does not identify an allowance. A budget combines a monetary amount with a period, delivery method, and scope. Consumers MUST compare those qualifiers before treating two budget figures as equivalent.
A budget is a target toward which delivery is paced. A spend cap is a ceiling that delivery must not exceed. Consumers MUST NOT interpret a cap as evidence of intended spend, and a cap does not carry a delivery method.
Pooling alone cannot apportion the allowance to members. Independently measured member spend remains usable under its own source, grain, currency and reporting-window qualifiers. Configuration, native counts, represented budget-reference links and owner identity MUST remain independent. No completeness or currentness follows from matching counts.
Scope, period and pacing describe configuration without establishing universal identity across configuration history. A later budget snapshot can reuse those qualifiers while changing its amount and source evidence. Spend caps retain scope and period without identifying every ceiling record for that pool. Consumers SHOULD preserve configuration or observation IRIs and provenance and independently assess native revision identity.
The qualification boundary is fresh OWL RL closure over the selected graph containing this vocabulary and its addendum together with the advertising measurement vocabulary and addendum. Synthetic history records share named scope objects, with restored-key positive controls exercising identity inference. RDFLib and Jena SELECT execution on the same standard RDF transport view of that closure qualifies query answers; Jena is not a second OWL reasoner. Full import closure, client adoption and observed production collisions require independent evidence.
Withdrawing identity keys cannot retract stored owl:sameAs, reconstruct merged records or disable older keys still loaded from another graph. Consumers SHOULD establish fresh closure from selected asserted sources and review provenance-aware reconstruction before persistent adoption. Consumers MUST distinguish neutral effective-window typing from native revision identity; persistent adoption requires separate source qualification.
The full reasoning closure remains available for identity and SHACL checks. Transport omits only derived literal-subject triples and retains every legal RDF triple, including literal objects, blank-node lists and source links. The qualification rejects malformed asserted RDF. RDFLib verifies round-trip graph parity; Jena independently verifies SELECT answer bags, with no independent OWL reasoning by Jena.
Budget and SpendCap are distinct subclasses of SpendingSpecification. effectiveWindow has only SpendingSpecification as its domain and Range as its range.
A window alone establishes neither an allowance nor a ceiling. A spend cap remains a ceiling; it does not acquire budget pacing or budget amount requirements.
A spending specification MAY carry one effective window. Absence leaves the interval unspecified; an explicitly open Range carries different evidence.
Budget and SpendCap retain their separate required amount, period and scope properties. SpendCap MUST NOT carry a budgetDeliveryMethod. Windows MUST be resource-valued Ranges.
Replace or isolate superseded vocabulary/schema graphs, regenerate inference from asserted data with the current schema, and replace or isolate superseded inferred graphs. Appending the current schema cannot retract an old inferred Budget type or repair an inconsistent union; old Budget-domain axioms in a union recreate the error.
This correction establishes represented applicability and class distinctions, not provider enforcement, authorization, execution success, identity repair, timezone resolution or client adoption.
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 |
|---|---|---|---|
abg:SpendingSpecification |
Class | A specification of planned spending, expressed as an allowance or a ceiling. A specification alone establishes neither a Budget nor a SpendCap. An optional effective window records applicability; absence leaves the interval unspecified. | Superclass of abg:Budget and abg:SpendCap |
abg:Budget |
Class | A planned spending allowance: an amount of money, the period it applies over, how it is paced within that period, and the scope of entities it covers. | Subclass of: abg:SpendingSpecification |
abg:BudgetPeriod |
Class | The recurrence over which a budget amount is allowed to be spent, such as each day or once over the whole flight. | Subclass of: skos:Concept |
abg:BudgetScope |
Class | Represented scope evidence for an allowance or cap. Provider counts, budget-reference links, configuration and owner roles are independent; missing enumeration does not establish an empty or complete scope. | No local domain or range restriction. |
abg:DeliveryMethod |
Class | How spending is paced within the budget period: evenly across it, or as quickly as inventory allows. | Subclass of: skos:Concept |
abg:SpendCap |
Class | A ceiling on spending that constrains delivery without directing it. | Subclass of: abg:SpendingSpecification |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
abg:appliesToScope |
Property | The scope of entities the budget covers. | Domain: abg:Budget; Range: abg:BudgetScope |
abg:budgetAmount |
Property | The allowance a budget permits, as a monetary amount reused from the advertising measurement vocabulary so budgets and spend are denominated in the same terms. | Domain: abg:Budget; Range: adm:MonetaryAmount |
abg:budgetDeliveryMethod |
Property | How the budget is paced within its period. | Domain: abg:Budget; Range: abg:DeliveryMethod |
abg:budgetPeriod |
Property | The recurrence the budget amount applies over. | Domain: abg:Budget; Range: abg:BudgetPeriod |
abg:capAmount |
Property | The ceiling a spend cap imposes, as a monetary amount reused from the advertising measurement vocabulary. | Domain: abg:SpendCap; Range: adm:MonetaryAmount |
abg:capPeriod |
Property | The recurrence a spend cap's ceiling applies over. | Domain: abg:SpendCap; Range: abg:BudgetPeriod |
abg:constrainsScope |
Property | The scope of entities a spend cap applies to. | Domain: abg:SpendCap; Range: abg:BudgetScope |
abg:coveredEntityCount |
Property | A legacy producer-qualified scope count, including zero. This may be a native reported count or a derived explicit single-allocation count. | Domain: abg:BudgetScope; Range: xsd:integer |
abg:coversEntity |
Property | A legacy covered-entity link with producer-qualified meaning. It may denote a budget owner rather than a funded member; no completeness or currentness follows. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:effectiveWindow |
Property | The interval over which a spending specification applies. Budgets and spend caps may both carry this property. Absence leaves applicability unspecified and does not establish an unbounded or standing allowance. | Domain: abg:SpendingSpecification; Range: rng:Range |
abg:sharedAcrossEntities |
Property | Legacy sharing evidence whose basis is provider-specific: configured intent or shared-allocation kind. It is not proof of multiple current consumers or complete enumeration. | Domain: abg:BudgetScope; Range: xsd:boolean |
abg:configuredSharing |
Property | A returned configured sharing policy. Absence is unspecified; a create default does not supply a returned value. This evidence grants no write authorization. | Domain: abg:BudgetScope; Range: xsd:boolean |
abg:rebalanceEnabled |
Property | A returned rebalance flag. It does not state transfer amounts, redistribution limits, reversibility or a confirmed mutation effect. | Domain: abg:BudgetScope; Range: xsd:boolean |
abg:scopeOwner |
Property | An explicitly represented owner role, independent of funded membership. An owner may also be a funded member when that link is stated; ownership alone neither infers nor excludes funding. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:observedFundedEntity |
Property | An explicitly represented native budget-reference or allocation link. It is not measured spending, proof of current active membership or a complete funded-member enumeration. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:memberBasis |
Property | The native predicate or explicit source basis supporting represented budget-reference or allocation links. It does not qualify their completeness or currentness. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:reportedEntityCount |
Property | An actual native provider-reported reference or association count, including zero. Its native denominator is recorded by reportedCountBasis; no complete enumeration or write permission follows. | Domain: abg:BudgetScope; Range: xsd:integer |
abg:reportedCountBasis |
Property | The native source predicate whose count is preserved as reportedEntityCount. Producer-derived campaign-owned counts do not carry this basis. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:sharingBasis |
Property | The source predicate supporting legacy sharedAcrossEntities evidence. Configured intent and shared-allocation kind have different meanings across producers. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:scopeAccount |
Property | The account resource attached to this scope observation by its producer. This records represented account context without establishing cross-record identity or authorization. | Domain: abg:BudgetScope; Range: rdfs:Resource |
abg:scopeObservedAt |
Property | The source capture instant of this scope observation when explicitly available. It does not establish currentness, a validity interval or complete membership. | Domain: abg:BudgetScope; Range: xsd:dateTime |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
abg:acceleratedDelivery |
Concept | Spending proceeds as quickly as inventory allows and may exhaust the budget before the period ends. | Scheme: abg:DeliveryMethodScheme |
abg:customPeriod |
Concept | The amount is allowed once across a provider-defined span that is neither a day nor the entity's whole flight. The span itself is carried by the effective window rather than by this concept. | Scheme: abg:BudgetPeriodScheme |
abg:dailyPeriod |
Concept | The amount is allowed each day and resets at the provider's day boundary. | Scheme: abg:BudgetPeriodScheme |
abg:lifetimePeriod |
Concept | The amount is allowed once across the entire flight and does not reset. | Scheme: abg:BudgetPeriodScheme |
abg:standardDelivery |
Concept | Spending is paced evenly across the budget period. | Scheme: abg:DeliveryMethodScheme |
| Term | Kind | Normative meaning | Relations |
|---|---|---|---|
abg:BudgetPeriodScheme |
Concept scheme | Controlled vocabulary of budget recurrences. | No local domain or range restriction. |
abg:DeliveryMethodScheme |
Concept scheme | Controlled vocabulary of pacing behaviours. | No local domain or range restriction. |
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.
Budget amounts and account scope can reveal planned expenditure. Publishers SHOULD apply access controls appropriate to the commercial sensitivity of their data. The vocabulary does not define authorization or currency-conversion policy.