The Advertising Entity Ontology defines the configured tiers and reusable assets of advertiser-side systems. Tiers are named for the function they carry so provider labels can differ without changing the shared model.

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.

Namespace

PrefixNamespace IRI
aenthttps://ontology.inferal.com/modules/advertising-entity/

Scope

This module covers ad accounts, campaigns, targeting groups, ads, creatives, provider identities, account-holding roles, objectives, bid strategies, and creative formats.

Hierarchy containment is time-bounded in the advertising measurement module. Metrics, budgets, delivery state, structured targeting payloads, and party identity are outside this module.

Competency Questions

  1. Which shared tier does a provider resource occupy, regardless of its provider label?
  2. Which creatives are delivered by more than one ad?
  3. Which resources carry identities from more than one platform?
  4. Who holds each advertising account and in what role?
  5. Which objective and bid strategy does each campaign pursue?

Conceptual Model

Function-based tiers

An account is the billing and holding boundary. A campaign carries an objective and budget scope when those are reported. A targeting group carries audience and bid. An ad delivers a creative. Provider mappings MUST follow these functions, not the provider's local nouns.

Qualified provider identity

An identifier is meaningful only with the channel that issued it. An advertising entity MUST carry at least one provider identity, and each identity pairs exactly one lexical value with one issuing channel.

Configuration and asset separation

An ad is a configured delivery unit while a creative is a reusable asset. Several ads MAY deliver the same creative. Consumers MUST NOT infer that repeated delivery creates multiple creative resources.

Identifier Scope and Inference

A provider value and issuing channel preserve identifier evidence without establishing universal identity. Its namespace can depend on account, entity tier or native resource scope. Consumers SHOULD retain source-qualified identity IRIs and provenance until the source establishes that scope. Equality of identity nodes alone does not identify the advertising resources carrying them; the identity relationship remains repeatable.

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 named collisions with a restored-key positive control exercise 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 an identity key cannot retract stored owl:sameAs, reconstruct merged records or disable an older key still loaded from another graph. Consumers SHOULD establish fresh closure from selected asserted sources and review provenance-aware reconstruction before persistent adoption. Identifier scope and uniqueness remain source assessments.

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.

Term Reference

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.

Classes

TermKindNormative meaningRelations
aent:Ad Class A configured delivery unit pairing a creative with the targeting group that decides who sees it. Subclass of: aent:AdvertisingEntity
aent:AdAccount Class An account at one advertising channel, held by a party, under which campaigns are configured and spend is billed. Subclass of: aent:AdvertisingEntity
aent:AdvertisingEntity Class Anything an advertiser configures on a platform and can be measured against: an account, a campaign, a targeting group, or an ad. Subclass of: aent:AdvertisingResource
aent:AdvertisingResource Class Anything an advertiser configures or produces: the tiers of an account hierarchy, and the creatives those tiers deliver. Subclass of: prov:Entity
aent:BidStrategy Class The rule a campaign bids under, such as maximising outcomes or holding to a cost or return target. Subclass of: skos:Concept
aent:Campaign Class The tier at which an advertising objective and the budget scope that funds it are configured, when the provider exposes those facts. Named in full because a campaign in general is not an advertising campaign: military, political, and fundraising campaigns are all campaigns, and the last two may contain advertising campaigns without being them. Subclass of: aent:AdvertisingEntity
aent:Creative Class The asset an ad delivers: the copy, imagery, video, and call to action a person actually sees. Subclass of: aent:AdvertisingResource
aent:CreativeFormat Class The presentational form an asset takes, such as a single image, a carousel of several, or a video. Subclass of: skos:Concept
aent:Objective Class The outcome an advertising campaign is optimised toward, such as awareness, traffic, or sales. Named in full because an objective in general belongs to no domain in particular. Subclass of: skos:Concept
aent:ProviderIdentity Class An identifier an entity carries on one channel, paired with the channel that issued it. No local domain or range restriction.
aent:TargetingGroup Class The tier carrying the audience an advertiser wants to reach and the bid it will pay to reach them. It contains ads as a consequence of sitting at that tier, not as its definition. Subclass of: aent:AdvertisingEntity

Properties

TermKindNormative meaningRelations
aent:accountChannel Property The advertising channel this account exists at. Domain: aent:AdAccount; Range: adm:Channel
aent:accountCurrency Property The ISO 4217 code of the currency this account is billed and reported in. Metrics rows generally omit it, so it is resolved from here. Domain: aent:AdAccount; Range: xsd:string
aent:bidAmount Property The amount this tier will pay for the outcome it bids on, reusing the shared monetary amount so a bid and the spend it produces are denominated in the same terms. Domain: aent:TargetingGroup; Range: adm:MonetaryAmount
aent:carriesTargeting Property The audience specification this tier delivers against. Left deliberately unstructured: two providers ship targeting as an untyped blob, so describing its internals here would make their data unrepresentable. Domain: aent:TargetingGroup; Range: rdfs:Resource
aent:creativeFormat Property The presentational form of the asset, such as a single image, a carousel, or a video. Domain: aent:Creative; Range: aent:CreativeFormat
aent:deliversCreative Property The asset this ad delivers. Several ads may deliver one creative, which is why the two are separate resources. Domain: aent:Ad; Range: aent:Creative
aent:entityName Property The advertiser's own name for this entity. Names are not identifiers: they are edited freely, repeat across accounts, and are absent on some tiers. Domain: aent:AdvertisingResource; Range: xsd:string
aent:heldUnderRole Property The role under which a party holds this account, stated as a time-bounded relationship rather than by conflating the account with its holder. Domain: aent:AdAccount; Range: ci:Role
aent:identifiedBy Property A provider identity this entity carries. Repeatable, because one entity may be identified differently on the platform that runs it and on a measurement platform that reports it. Domain: aent:AdvertisingResource; Range: aent:ProviderIdentity
aent:identifierValue Property The identifier as the issuing channel states it, preserved verbatim. Providers ship integers, opaque resource paths, and prefixed strings, and normalising them would lose the ability to address the entity on its own platform. Domain: aent:ProviderIdentity; Range: xsd:string
aent:issuingChannel Property The channel that issued this identifier, without which the value does not identify anything. Domain: aent:ProviderIdentity; Range: adm:Channel
aent:pursuesBidStrategy Property The bidding rule this campaign applies, when the source reports one. Domain: aent:Campaign; Range: aent:BidStrategy
aent:pursuesObjective Property The outcome this campaign is optimised toward, when the source reports one. Absence means unreported rather than unknown. Domain: aent:Campaign; Range: aent:Objective

Controlled concepts

TermKindNormative meaningRelations
aent:appPromotionObjective Concept Optimised toward installs or in-app activity. Scheme: aent:ObjectiveScheme
aent:awarenessObjective Concept Optimised toward being seen by as many relevant people as possible. Judged on reach and frequency rather than on clicks or conversions. Scheme: aent:ObjectiveScheme
aent:carouselFormat Concept Several cards a person swipes through, each with its own destination. Scheme: aent:CreativeFormatScheme
aent:collectionFormat Concept A cover asset above a grid of products, opening into a full-screen experience. Scheme: aent:CreativeFormatScheme
aent:conversionsObjective Concept Optimised toward a tracked conversion action of any kind, such as a purchase, a sign-up or a lead submitted on the advertiser's site. Judged on conversions and cost per conversion. Scheme: aent:ObjectiveScheme; narrower: aent:salesObjective
aent:costTargetStrategy Concept Bid so that the average cost of an outcome holds to a stated figure. Scheme: aent:BidStrategyScheme
aent:engagementObjective Concept Optimised toward interactions with the ad or its surrounding content. Scheme: aent:ObjectiveScheme
aent:leadObjective Concept Optimised toward collecting contact details or expressions of interest. Scheme: aent:ObjectiveScheme
aent:maximiseOutcomesStrategy Concept Spend the budget to obtain as many outcomes as possible, with no cost or return target stated. Scheme: aent:BidStrategyScheme
aent:salesObjective Concept Optimised toward purchases or other revenue-bearing outcomes. The only objective for which a return figure is straightforwardly meaningful. Scheme: aent:ObjectiveScheme; broader: aent:conversionsObjective
aent:singleImageFormat Concept One static image with accompanying copy. Scheme: aent:CreativeFormatScheme
aent:trafficObjective Concept Optimised toward sending people to a destination. Judged on clicks and cost per click. Scheme: aent:ObjectiveScheme
aent:valueTargetStrategy Concept Bid so that the return on spend holds to or exceeds a stated ratio. Scheme: aent:BidStrategyScheme
aent:videoViewsObjective Concept Optimised toward people watching a video to a provider-defined threshold. Judged on video views and cost per view. Scheme: aent:ObjectiveScheme
aent:videoFormat Concept Moving image with optional sound. The only format for which video view metrics are meaningful. Scheme: aent:CreativeFormatScheme

Concept schemes

TermKindNormative meaningRelations
aent:BidStrategyScheme Concept scheme Cross-provider anchors for campaign bidding rules. Provider profiles extend this scheme rather than defining parallel classes. No local domain or range restriction.
aent:CreativeFormatScheme Concept scheme Cross-provider anchors for creative formats. Provider profiles extend this scheme. No local domain or range restriction.
aent:ObjectiveScheme Concept scheme Cross-provider anchors for campaign objectives. Provider profiles extend this scheme rather than defining parallel classes. No local domain or range restriction.

Validation

The module's SHACL constraints provide the closed-world conformance profile. The following requirements summarize the constraints that affect ordinary data producers.

Examples

Extension and Interoperability

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.

Privacy and Security Considerations

Provider identifiers, targeting references, and account-holder roles can identify customers or reveal campaign structure. Publishers SHOULD minimize exposed identifiers and apply access controls. Targeting payload semantics and personal-data policy are outside this vocabulary.