Term reference · v0.5.0

XEO ontology — 177 terms

The whole vocabulary on one page, because XEO is a hash namespace: every term IRI https://xeoontology.org/xeo# resolves to a section below. Classes, object properties, datatype properties, annotation properties, individuals and the module records — grouped, searchable, and typed by epistemic layer.

Source files, served from this site: xeo-core.ttl · xeo-visibility.ttl · xeo-engagement.ttl · xeo-decision.ttl · xeo-strategy.ttl · xeo-delivery.ttl · xeo-schemes.ttl · xeo-align.ttl · context.jsonld · schemes.json · schema.cypher

The six epistemic layers (badge legend)
norm — a standing rule over a class of cases
interpretation — a labeled claim
derivation — a model's output — method, model, confidence
observation — a measured fact, grounded in a standard
episode — happened at a time, immutable
entity — a durable identity

Classes

36

AnswerEngine

§ Answer Engine xeo-visibility
https://xeoontology.org/xeo#AnswerEngine

Assistants that answer with web search and citations (the AEO surface).

subclass of
xeo:Engine

Brand

§ entity xeo-visibility
https://xeoontology.org/xeo#Brand

A named market identity that engines may mention, cite, or recommend. Distinct from Website: a brand can be visible on the whole web, not only its own origin.

closeMatch
schema:Brand

CallToAction

§ Call To Action xeo-engagement
https://xeoontology.org/xeo#CallToAction
subclass of
xeo:ConversionPoint

Campaign

§ entity xeo-delivery
https://xeoontology.org/xeo#Campaign

A body of work inside a Project against one Topic: the URLs and Terms it covers, and the single Objective it is measured by. Recommendations are issuedFor a campaign, and it is the unit an operator plans a cycle around. Soft-deleted like its Project.

Capability

§ entity xeo-decision
https://xeoontology.org/xeo#Capability

A lever or strength a party can bring to bear (content, technical, PR, brand, ...). The unit of the scope gate: a Tactic is in reach only when every Capability it requires is approved. Specific capabilities are instances, not subclasses.

ConversationalAgent

§ Conversational Agent xeo-visibility
https://xeoontology.org/xeo#ConversationalAgent

Multi-turn agents and voice surfaces acting on a user's behalf.

subclass of
xeo:Engine

ConversionEvent

§ Conversion Event episode xeo-engagement
https://xeoontology.org/xeo#ConversionEvent

A submission/click/unlock that happened at a time. Immutable once recorded.

subclass of
prov:Activity

ConversionPoint

§ Conversion Point entity xeo-engagement
https://xeoontology.org/xeo#ConversionPoint

A durable on-page mechanism that turns attention into a pipeline event.

Crawl

§ episode xeo-core
https://xeoontology.org/xeo#Crawl

One crawl run over one Website: time-bounded, agent-attributed, immutable once finished.

subclass of
prov:Activity

Diagnostic

§ entity xeo-decision
https://xeoontology.org/xeo#Diagnostic

A named, reusable check or framework that reads observations and reveals gaps (e.g. a waterfall-position assessment). The framework is durable; each finding it produces is a Gap.

Engine

§ entity xeo-visibility
https://xeoontology.org/xeo#Engine

A system that mediates between a person's question and web content. The taxonomy below is operational, not doctrinal — subclass as engines evolve.

subclass of
prov:SoftwareAgent

Experiment

§ episode xeo-decision
https://xeoontology.org/xeo#Experiment

A test of a tactic that ran over a time window: immutable once concluded, method-attributed. The precedent record the decision layer learns from.

subclass of
prov:Activity

Gap

§ interpretation xeo-decision
https://xeoontology.org/xeo#Gap

A diagnosed deficit between current and desired visibility. First-order, but a claim: asserted by a Diagnostic from evidence, never observed directly. Its kind (gapType) is a slotted-in skos:Concept — e.g. a Citation-Waterfall stage — not a subclass baked into the ontology.

GatedAsset

§ Gated Asset xeo-engagement
https://xeoontology.org/xeo#GatedAsset

Content exchanged for contact information.

subclass of
xeo:ConversionPoint

GenerativeEngine

§ Generative Engine xeo-visibility
https://xeoontology.org/xeo#GenerativeEngine

Search-integrated generated answers — AI overviews and AI modes (the GEO surface).

subclass of
xeo:Engine

Intervention

§ entity xeo-decision
https://xeoontology.org/xeo#Intervention

A category of tactic in a controlled vocabulary you bring. A skos:Concept, so a whole intervention taxonomy slots in without touching the ontology.

subclass of
skos:Concept

LeadCaptureForm

§ Lead Capture Form xeo-engagement
https://xeoontology.org/xeo#LeadCaptureForm
subclass of
xeo:ConversionPoint

LLMResponse

§ LLM Response episode xeo-visibility
https://xeoontology.org/xeo#LLMResponse

One captured response from one engine/model for one Prompt at a moment: time-bounded, source-attributed, immutable once captured. The visibility sibling of SerpSnapshot.

subclass of
prov:Entity

MetricTarget

§ Metric Target interpretation xeo-delivery
https://xeoontology.org/xeo#MetricTarget

One measurable target of an Objective: metric X should reach targetValue, read as absolute or as a percent lift from a captured baseline. Named a target and never a key result: xeo:Outcome is 'the measured result an experiment produced', an observation, and a goal must not share a name with a reading. Each target is its own node so the experiment loop can hang observations off it; a target dropped on edit is stamped deletedAt, never destroyed, because its id is what measured history is anchored to.

Objective

§ interpretation xeo-delivery
https://xeoontology.org/xeo#Objective

What a Campaign intends to move: an operator-written statement in prose (carried verbatim — the recommendation agent reads it as the goal), a resultsWindowDays every target is measured over, and one or more MetricTargets of which exactly one isPrimary. An intent set at creation. A campaign has one reporting horizon, distinct from the Project's work window: a two-month engagement can carry a six-month results window.

Outcome

§ observation xeo-decision
https://xeoontology.org/xeo#Outcome

The measured result an experiment produced (lift, delta, significance). The measurement is an observation; any claim that the tactic CAUSED it is an interpretation, carried on the Recommendation, not asserted here.

subclass of
prov:Entity

Playbook

§ entity xeo-strategy
https://xeoontology.org/xeo#Playbook

A reusable, discipline-scoped bundle of Diagnostics, Tactics, and Practices — an 'SEO playbook', an 'AEO playbook', a 'local playbook'. Durable and named, like a Diagnostic. Its scope is the DISCIPLINE, not the account: a Playbook is authored once (by the community or an agency) and reused across every client. What varies per client or campaign is which Playbooks a tenancy activates and which Practices it overrides — never the Playbook itself.

Practice

§ norm xeo-strategy
https://xeoontology.org/xeo#Practice

A standing rule that governs how recommendations are made under stated conditions. Best-practices, SOPs, and lessons-learned are all Practices, distinguished by source, not by class. A Practice does one of three things (practiceKind): veto a candidate (guardrail), reorder it (preference), or attach a caveat (guidance). Revisable and versioned (supersedes); scoped to the concepts it appliesToConcept; audited on the recommendations it fired on (appliedPractice).

Project

§ entity xeo-delivery
https://xeoontology.org/xeo#Project

The contractual container for a body of work on one Website. Declares its engagementType (retainer or one-off), an interventionQuota (a scope of work with no ceiling is not a scope), a cadence the quota resets over (retainer) or a durationDays it runs for (one-off), and the Interventions and Tactics inScope under the contract. Never destroyed: its campaigns, objectives and targets are the substrate the end-of-campaign report and the experiment loop read, so it is stamped deletedAt and filtered, not deleted.

closeMatch
schema:Project

Prompt

§ entity xeo-visibility
https://xeoontology.org/xeo#Prompt

A tracked natural-language question posed to engines. Distinct from Term: a prompt is what a person asks; the engine's retrieval fans out into Terms.

Recommendation

§ interpretation xeo-decision
https://xeoontology.org/xeo#Recommendation

The labeled claim the whole chain exists to produce: deploy this Tactic to close this Gap, supported by these Experiments, at a given priority. An interpretation — carries method, confidence, and who/what issued it.

SearchEngine

§ Search Engine xeo-visibility
https://xeoontology.org/xeo#SearchEngine

Classic ranked-results retrieval (the SEO surface).

subclass of
xeo:Engine

SearchIntent

§ Search Intent entity xeo-engagement
https://xeoontology.org/xeo#SearchIntent

Why the person is asking. Modeled as named individuals, not free strings.

grounded in
Broder (2002), 'A taxonomy of web search', as extended in common practice

SearchPerformanceFact

§ Search Performance Fact observation xeo-core
https://xeoontology.org/xeo#SearchPerformanceFact

The atomic ground-truth metric row for one (websiteId, address, term, date [, device, country]) tuple. Never instantiated as graph relationships; the graph carries windowed ranksFor rollups whose datasetUri points back to the authoritative table.

closeMatch
schema:Observation
grounded in
Google Search Console Search Analytics API
canonical store
bigquery

SerpSnapshot

§ SERP Snapshot episode xeo-core
https://xeoontology.org/xeo#SerpSnapshot

One observation of a search results page for a Term at a moment, for a stated engine, locale, and device.

subclass of
prov:Entity

Tactic

§ entity xeo-decision
https://xeoontology.org/xeo#Tactic

A durable, named approach that can address gaps. Categorized by a slotted-in intervention taxonomy (inIntervention), scored on slotted-in dimensions (assessedAs -> TacticAssessment), and gated by the Capabilities it requires.

TacticAssessment

§ Tactic Assessment interpretation xeo-decision
https://xeoontology.org/xeo#TacticAssessment

A scored estimate of a tactic on ONE dimension (onDimension), carrying score, method, and confidence. The dimension set (impact / risk / time-to-value, or ICE, or your own) and how dimensions are weighted are a strategy-layer concern; this class only records that an assessment was made, on what dimension, and by what method.

Term

§ entity xeo-core
https://xeoontology.org/xeo#Term

A search query string, unique by name. Data sources are attributed on observations that mention the term, never as subtypes of the term.

Topic

§ derivation xeo-core
https://xeoontology.org/xeo#Topic

A named grouping of Terms produced by a clustering or labeling process. Site-scoped. Assignments carry method, model, and confidence.

subclass of
skos:Concept

URL

§ entity xeo-core
https://xeoontology.org/xeo#URL

A resource address within a Website. Durable identity; the state of the resource at a time is recorded by Fetch observations.

closeMatch
schema:WebPage
grounded in
WHATWG URL Standard

Website

§ entity xeo-core
https://xeoontology.org/xeo#Website

A site under observation, identified by its origin. The tenancy scope for URLs, crawls, and topics.

closeMatch
schema:WebSite
grounded in
WHATWG URL Standard (origin)

Object properties

61

aboutTopic

§ entity xeo-delivery
https://xeoontology.org/xeo#aboutTopic

The topic cluster this campaign works. Topics are site-scoped derivations in core; a campaign binds to one.

domain
xeo:Campaign
range
xeo:Topic

activates

§ norm xeo-strategy
https://xeoontology.org/xeo#activates

A tenancy context puts a Playbook into effect for a body of work. Domain left open: model your own tenancy node (agency, client, engagement, campaign) and point it here — this module stays agnostic about the account hierarchy, which is expressed through appliesAtScope.

range
xeo:Playbook

addressableBy

§ interpretation xeo-decision
https://xeoontology.org/xeo#addressableBy

A candidate tactic for closing this gap — a claim, made before the scope gate is applied.

domain
xeo:Gap
range
xeo:Tactic

appliedPractice

§ derivation xeo-strategy
https://xeoontology.org/xeo#appliedPractice

Audit edge: this Practice was evaluated against this recommendation and fired. Carries method and confidence — the application is a computed derivation, not itself a norm. The transparent record of why a candidate was blocked, demoted, or flagged.

range
xeo:Practice

appliesAtScope

§ norm xeo-strategy
https://xeoontology.org/xeo#appliesAtScope

The tenancy level at which a Practice (or activation or override) applies, as a slotted-in concept. A recommended hierarchy is default < agency < client < engagement < campaign < user. Domain left open so it can annotate any strategy-layer assertion. Resolution is most-specific-wins: a client-level Practice overrides an agency default, which overrides the shipped default. This is the 'customization' axis — not a lens, a specificity ladder.

range
skos:Concept

appliesToConcept

§ norm xeo-strategy
https://xeoontology.org/xeo#appliesToConcept

Binds a Practice to the slotted-in concepts it applies to — a page role (hasRole), an Intervention, a gapType, a Capability. Bring your own schemes; the Practice fires only where a candidate carries a matching concept.

domain
xeo:Practice
range
skos:Concept

assessedAs

§ interpretation xeo-decision
https://xeoontology.org/xeo#assessedAs

Links a tactic to a per-dimension scored estimate.

domain
xeo:Tactic

atPriority

§ interpretation xeo-decision
https://xeoontology.org/xeo#atPriority

Priority as a slotted-in concept — bring your own scheme (P0/P1/P2, now/next/later, ...).

range
skos:Concept

attributedResponse

§ interpretation xeo-engagement
https://xeoontology.org/xeo#attributedResponse

The claim that this conversion traces to engine visibility captured in this response episode. Multi-engine attribution is inherently inferential: this edge MUST carry method and confidence, and honest implementations will leave it sparse.

authoredBy

§ norm xeo-strategy
https://xeoontology.org/xeo#authoredBy

The party that authored a Practice (or an activation or override). Range left open — a person, an agency, the system, or a prov:Agent in your own graph. One half of the customization axis: with appliesAtScope, it decides whose rule wins.

domain
xeo:Practice

capturedBy

§ observation xeo-engagement
https://xeoontology.org/xeo#capturedBy

childOf

§ derivation xeo-core
https://xeoontology.org/xeo#childOf

Topic childOf Topic: the child points to its broader parent, matching skos:broader.

domain
xeo:Topic
range
xeo:Topic
subproperty of
skos:broader

cites

§ observation xeo-visibility
https://xeoontology.org/xeo#cites

The response grounded on this URL, per the engine's own citation annotations. Carries citationRank where the engine orders its sources. The visibility sibling of hasResult.

range
xeo:URL
grounded in
Engine response citation annotations (per-provider API contract)

closesGap

§ interpretation xeo-decision
https://xeoontology.org/xeo#closesGap

The gap this recommendation aims to close.

range
xeo:Gap

constrains

§ norm xeo-strategy
https://xeoontology.org/xeo#constrains

The Practice governs recommendations matching its conditions — vetoing, reordering, or caveating per its practiceKind. Which recommendations 'match' is set by appliesToConcept.

domain
xeo:Practice

coversTerm

§ entity xeo-delivery
https://xeoontology.org/xeo#coversTerm

A term inside the campaign's cluster — the queries its objective is measured against.

domain
xeo:Campaign
range
xeo:Term

coversUrl

§ entity xeo-delivery
https://xeoontology.org/xeo#coversUrl

A page inside the campaign's cluster. May carry a priority flag marking the pages the campaign is really about.

domain
xeo:Campaign
range
xeo:URL

effortEstimate

§ interpretation xeo-delivery
https://xeoontology.org/xeo#effortEstimate

How long executing the recommendation is expected to take, as a slotted-in concept (hours, days, weeks, a quarter — see xeo-schemes). A categorical horizon for planning a cycle, not a scored dimension: impact, risk and time-to-value belong on a TacticAssessment via onDimension.

range
skos:Concept

evidencedBy

§ derivation xeo-decision
https://xeoontology.org/xeo#evidencedBy

The observed facts a gap was derived from — a Prompt's visibilityFor rollup, a URL's ranksFor, a SerpSnapshot. The seam tying the interpretation tier back down to the substrate. Range left open: any observation-bearing term.

domain
xeo:Gap
subproperty of
prov:wasDerivedFrom

execution

§ interpretation xeo-delivery
https://xeoontology.org/xeo#execution

Who does the work, as a slotted-in concept: ours (spends the project's intervention allowance) or advised (the client executes; not agency capacity). The half of the scope gate that says whose hours a recommendation costs.

range
skos:Concept

fansOutTo

§ observation xeo-visibility
https://xeoontology.org/xeo#fansOutTo

A retrieval query the engine reported issuing while answering this prompt. Fan-out queries ARE Terms — the join between the xEO layer and classic rank data. Carries the reporting engine and capture episode.

domain
xeo:Prompt
range
xeo:Term
grounded in
Engine-reported retrieval queries (per-provider API contract)

fetched

§ observation xeo-core
https://xeoontology.org/xeo#fetched

An HTTP fetch of a URL within a crawl. In the property graph this relationship carries statusCode, contentType, title, metaDescription, robotsMeta, contentHash, fetchedAt.

domain
xeo:Crawl
range
xeo:URL
grounded in
RFC 9110 (HTTP Semantics)

gapType

§ derivation xeo-decision
https://xeoontology.org/xeo#gapType

The kind of gap, as a slotted-in concept (e.g. a Citation-Waterfall stage). Bring your own scheme.

domain
xeo:Gap
range
skos:Concept

hasCampaign

§ entity xeo-delivery
https://xeoontology.org/xeo#hasCampaign
domain
xeo:Project
range
xeo:Campaign

hasCanonical

§ observation xeo-core
https://xeoontology.org/xeo#hasCanonical
domain
xeo:URL
range
xeo:URL
grounded in
RFC 6596 (The Canonical Link Relation)

hasConversionPoint

§ observation xeo-engagement
https://xeoontology.org/xeo#hasConversionPoint

Observed presence of a conversion point on a page (crawl-attributed, bitemporal like linksTo).

domain
xeo:URL

hasCrawl

§ episode xeo-core
https://xeoontology.org/xeo#hasCrawl
domain
xeo:Website
range
xeo:Crawl

hasObjective

§ interpretation xeo-delivery
https://xeoontology.org/xeo#hasObjective

Exactly one per campaign.

domain
xeo:Campaign

hasProject

§ entity xeo-delivery
https://xeoontology.org/xeo#hasProject

The projects contracted against this website. Tenancy rides on websiteId, as everywhere.

domain
xeo:Website
range
xeo:Project

hasResponse

§ episode xeo-visibility
https://xeoontology.org/xeo#hasResponse
domain
xeo:Prompt

hasResult

§ observation xeo-core
https://xeoontology.org/xeo#hasResult

A result observed on the SERP. Carries position and resultType.

range
xeo:URL

hasRole

§ derivation xeo-strategy
https://xeoontology.org/xeo#hasRole

The structural role a URL plays on its site, as a slotted-in concept. A recommended starter scheme is coarse and purpose-based: brand-core (home, about), commercial (services, products, sales), content (articles, marketing), infrastructure (pagination, archives, tag and category indexes). Assignment is a DERIVATION from graph and crawl structure — inbound link_position, index-vs-leaf link patterns, template similarity — not URL-string matching; it carries method and confidence, and 'unknown' is a valid, conservative state. Parallels core's inTopic. Norms bind to these roles via appliesToConcept, so 'never redirect an infrastructure page for ranking' is a rule over a role, not a growing list of regexes.

domain
xeo:URL
range
skos:Concept

hasSnapshot

§ episode xeo-core
https://xeoontology.org/xeo#hasSnapshot
domain
xeo:Term

hasTarget

§ interpretation xeo-delivery
https://xeoontology.org/xeo#hasTarget

The objective's measurable targets. Non-empty; exactly one target isPrimary — what the recommendation agent optimises for. The rest are the secondary metrics an impact-radius check widens to.

domain
xeo:Objective

includes

§ entity xeo-strategy
https://xeoontology.org/xeo#includes

A Diagnostic, Tactic, or Practice bundled into this Playbook. Range left open across the three decision/norm terms it may hold.

domain
xeo:Playbook

inContext

§ observation xeo-decision
https://xeoontology.org/xeo#inContext

The gap the experiment was run against. The precedent-similarity key: 'has this tactic worked on a gap like mine?' is a match on gapType through this edge.

range
xeo:Gap

inIntervention

§ derivation xeo-decision
https://xeoontology.org/xeo#inIntervention

The intervention category this tactic belongs to. Parallels core's inTopic.

domain
xeo:Tactic

inScope

§ entity xeo-delivery
https://xeoontology.org/xeo#inScope

What the contract covers: an Intervention (a whole category of work, including tactics added to the catalogue later) or a specific Tactic within one. Range left open across those two terms. The contractual half of the scope gate — requiresCapability + approved asks whether the lever exists; this asks whether it was bought.

domain
xeo:Project

inTopic

§ derivation xeo-core
https://xeoontology.org/xeo#inTopic

Process-attributed topic assignment. Carries method, model, confidence, assignedAt.

domain
xeo:Term
range
xeo:Topic
closeMatch
schema:about

issuedFor

§ interpretation xeo-delivery
https://xeoontology.org/xeo#issuedFor

The campaign a recommendation was issued into. Its execution lifecycle (xeo:status), effortEstimate and execution live here: a recommendation is a decision-tier call until it lands in a campaign, and delivery state from then on.

range
xeo:Campaign

linksTo

§ observation xeo-core
https://xeoontology.org/xeo#linksTo

An observed hyperlink. Carries anchorText, rel, firstSeenAt, lastSeenAt, lastSeenCrawlId.

domain
xeo:URL
range
xeo:URL
grounded in
WHATWG HTML §4.5.1 (the a element)

magnitudeUnit

§ derivation xeo-decision
https://xeoontology.org/xeo#magnitudeUnit

The unit magnitude is read in, as a slotted-in concept (impressions, clicks, referring_domains, words, ... — see xeo-schemes). A unit that names its own provenance, like sessions_estimated, is how a derived figure is kept from rendering as a measured one.

domain
xeo:Gap
range
skos:Concept

measures

§ observation xeo-delivery
https://xeoontology.org/xeo#measures

The target an experiment's Outcome is read against. Carries a role — primary or secondary — matching the target's standing in its objective, and a basis saying which pages were measured (the ones the recommendation applied to, the gap's evidence, or the pages actually changed).

mentions

§ observation xeo-visibility
https://xeoontology.org/xeo#mentions

The brand's name appears in the response text. Carries mentionRank (order of first appearance) — high mention counts at poor ranks are the 'named among twelve, championed never' pattern. Extraction method (string match, NER model) must be recorded; model-extracted mentions are derivations, not observations.

range
xeo:Brand

onDimension

§ interpretation xeo-decision
https://xeoontology.org/xeo#onDimension

The dimension being scored, as a slotted-in concept (impact, risk, time-to-value, ICE, RICE, ...). Bring your own dimension scheme.

range
skos:Concept

onEngine

§ episode xeo-visibility
https://xeoontology.org/xeo#onEngine

Which engine (and, via model/modelVersion properties, which model) produced this response.

range
xeo:Engine
subproperty of
prov:wasAttributedTo

partOf

§ entity xeo-core
https://xeoontology.org/xeo#partOf
domain
xeo:URL
range
xeo:Website

producedOutcome

§ observation xeo-decision
https://xeoontology.org/xeo#producedOutcome

The measured result this experiment generated.

range
xeo:Outcome
subproperty of
prov:generated

ranksFor

§ observation xeo-core
https://xeoontology.org/xeo#ranksFor

Windowed rollup projection of SearchPerformanceFacts for a (page, query) pair. Carries clicks, impressions, ctr, avgPosition, periodStart, periodEnd, source, datasetUri, syncedAt.

domain
xeo:URL
range
xeo:Term
grounded in
Google Search Console Search Analytics API
canonical store
neo4j

recommends

§ interpretation xeo-decision
https://xeoontology.org/xeo#recommends

The tactic this recommendation puts forward.

range
xeo:Tactic

redirectsTo

§ observation xeo-core
https://xeoontology.org/xeo#redirectsTo
domain
xeo:URL
range
xeo:URL
grounded in
RFC 9110 §15.4 (Redirection 3xx)

requiresCapability

§ entity xeo-decision
https://xeoontology.org/xeo#requiresCapability

A capability that must be approved for this tactic to be in reach. The scope-gate edge: a tactic whose required capabilities are all approved is deployable; otherwise it stays advisory.

domain
xeo:Tactic

reveals

§ interpretation xeo-decision
https://xeoontology.org/xeo#reveals

A diagnostic asserts this gap. Carries the assessment method.

range
xeo:Gap

scopedTo

§ entity xeo-core
https://xeoontology.org/xeo#scopedTo

Topics are scoped to a Website rather than a free-standing ConceptScheme; skos:inScheme is the analogous grouping.

domain
xeo:Topic
range
xeo:Website
seeAlso
skos:inScheme

supersedes

§ norm xeo-strategy
https://xeoontology.org/xeo#supersedes

This Practice replaces an earlier version. Editing a rule mints a new Practice that supersedes the old (retired to status 'deprecated', never deleted) — the version chain that makes the norms layer revisable and auditable.

domain
xeo:Practice
range
xeo:Practice

supportedBy

§ interpretation xeo-decision
https://xeoontology.org/xeo#supportedBy

The precedent experiments backing this recommendation — the earned trust behind the pick.

subproperty of
prov:wasDerivedFrom

targetsIntent

§ interpretation xeo-engagement
https://xeoontology.org/xeo#targetsIntent

A URL or Prompt is aimed at this intent. A strategist's or model's claim — carries method and confidence.

tests

§ episode xeo-decision
https://xeoontology.org/xeo#tests

The tactic this experiment put to the test.

range
xeo:Tactic

tracksPrompt

§ entity xeo-visibility
https://xeoontology.org/xeo#tracksPrompt

This tenant tracks this prompt. Tenancy is data, not schema.

domain
xeo:Website
range
xeo:Prompt

verdict

§ interpretation xeo-decision
https://xeoontology.org/xeo#verdict

The operator's disposition on a diagnosed gap, as a slotted-in concept (attack, fix_first, defend, hold, ignore — see xeo-schemes). Distinct from gapType, which says what KIND of deficit it is; the verdict says what we intend to do about it. Carried by one finding per topic per analysis: it is a property of the topic's scoreboard row, not of every finding beneath it.

domain
xeo:Gap
range
skos:Concept

visibilityFor

§ observation xeo-visibility
https://xeoontology.org/xeo#visibilityFor

Windowed rollup of response-level observations for a (prompt, brand) pair: mentionRate, citationRate, responses, periodStart, periodEnd, source, datasetUri. Mirrors the ranksFor rollup pattern — raw responses are the authoritative record; this is the traversal-friendly projection.

domain
xeo:Prompt
range
xeo:Brand
canonical store
neo4j

Datatype properties

65

address

§ xeo-core
https://xeoontology.org/xeo#address

The serialized absolute URL is a schema:url value.

domain
xeo:URL
range
xsd:string
subproperty of
schema:url
grounded in
WHATWG URL Standard (serialized absolute URL)

anchorText

§ observation xeo-core
https://xeoontology.org/xeo#anchorText
range
xsd:string
grounded in
WHATWG HTML §4.5.1

approved

§ interpretation xeo-decision
https://xeoontology.org/xeo#approved

Whether this capability is approved for the engagement — the live state of the scope gate. Tenancy-scoped like everything else.

range
xsd:boolean

assignedAt

§ derivation xeo-core
https://xeoontology.org/xeo#assignedAt

When a derivation edge was written (e.g. a topic assignment). Carried on inTopic alongside method, model and confidence.

range
xsd:dateTime

avgPosition

§ observation xeo-core
https://xeoontology.org/xeo#avgPosition
range
xsd:decimal
grounded in
GSC Search Analytics API

baseline

§ observation xeo-delivery
https://xeoontology.org/xeo#baseline

The metric's value when the target was set — the anchor 'how far beyond target' is measured from. An observation captured onto an interpretation; baselineCapturedAt says when, because it is not the same instant as the target's creation.

range
xsd:decimal

baselineCapturedAt

§ observation xeo-delivery
https://xeoontology.org/xeo#baselineCapturedAt
range
xsd:dateTime

cadence

§ entity xeo-delivery
https://xeoontology.org/xeo#cadence

'monthly' or 'quarterly' — the period a retainer's quota resets over. Set for retainer, absent for one-off.

domain
xeo:Project
range
xsd:string

capturedAt

§ episode xeo-visibility
https://xeoontology.org/xeo#capturedAt

The response record was generated at capture time.

range
xsd:dateTime
subproperty of
prov:generatedAtTime

citationRank

§ observation xeo-visibility
https://xeoontology.org/xeo#citationRank

1-based order of a cited source where the engine orders its citations. Carried on cites; absent where the engine reports an unordered set.

range
xsd:integer

citationRate

§ observation xeo-visibility
https://xeoontology.org/xeo#citationRate

Share of captured responses in the window that cite the brand's owned URLs. Cited and mentioned diverge — a page can ground an answer that names someone else.

range
xsd:decimal

clicks

§ observation xeo-core
https://xeoontology.org/xeo#clicks
range
xsd:integer
grounded in
GSC Search Analytics API

concludedAt

§ episode xeo-decision
https://xeoontology.org/xeo#concludedAt

When the experiment concluded and its outcome became immutable.

range
xsd:dateTime
subproperty of
prov:endedAtTime

confidence

§ derivation xeo-core
https://xeoontology.org/xeo#confidence

0-1 confidence attached to a derivation edge.

range
xsd:decimal

crmRecordRef

§ entity xeo-engagement
https://xeoontology.org/xeo#crmRecordRef

Identity-key pointer to the CRM object (form id, contact id, deal id) in whatever system runs the pipeline. The join contract to the post-click world — the graph never mirrors the CRM's schema.

range
xsd:string
canonical store
crm

ctr

§ observation xeo-core
https://xeoontology.org/xeo#ctr

Clickthrough rate over the rollup window. Carried on ranksFor.

range
xsd:decimal
grounded in
GSC Search Analytics API

datasetUri

§ derivation xeo-core
https://xeoontology.org/xeo#datasetUri

Pointer to the authoritative table a windowed rollup was projected from (e.g. a BigQuery table URI). The provenance contract for ranksFor and visibilityFor: the graph keeps the traversable projection, this says where the ground truth lives.

range
xsd:string

deletedAt

§ entity xeo-delivery
https://xeoontology.org/xeo#deletedAt

Soft-delete stamp. XEO never destroys a node something else was derived from — xeo-strategy states the rule for a Practice (destroying it destroys the record of what it vetoed) and it holds here for a Project, a Campaign, or a MetricTarget that measured history hangs off. Absent on a live node; domain left open so any revisable term can carry it.

range
xsd:dateTime

direction

§ interpretation xeo-delivery
https://xeoontology.org/xeo#direction

'up' or 'down' — which way is better for this metric. DERIVED from metric, never client input: position and rank are 1-based, so a shared '+20%' would silently ask for a rank 20% worse.

range
xsd:string

durationDays

§ entity xeo-delivery
https://xeoontology.org/xeo#durationDays

Fixed run length of a one-off project. Set for oneoff, absent for retainer.

domain
xeo:Project
range
xsd:integer

embeddingModel

§ derivation xeo-core
https://xeoontology.org/xeo#embeddingModel
domain
xeo:Term
range
xsd:string

embeddingRef

§ derivation xeo-core
https://xeoontology.org/xeo#embeddingRef

Pointer (collection + id) to the vector in the external store. The geometry lives where ANN search happens; the graph keeps the claim and its provenance.

domain
xeo:Term
range
xsd:string
canonical store
vector-store

engagementType

§ entity xeo-delivery
https://xeoontology.org/xeo#engagementType

'retainer' or 'oneoff' — the discriminator for how scope is expressed. A retainer caps interventions per cadence period; a one-off caps them over durationDays. Sending both cadence and durationDays is a contradiction and is rejected at the edge.

domain
xeo:Project
range
xsd:string

fetchedAt

§ observation xeo-core
https://xeoontology.org/xeo#fetchedAt

When the fetch observation was made. Carried on fetched.

range
xsd:dateTime

firstSeenAt

§ observation xeo-core
https://xeoontology.org/xeo#firstSeenAt

When an observed edge (a link, typically) was first seen. Half of the bitemporal pair that makes link liveness answerable.

range
xsd:dateTime

halfLife

§ norm xeo-strategy
https://xeoontology.org/xeo#halfLife

Optional decay window for a Practice whose source is 'claimed': how long the assertion is trusted absent supporting Outcomes. Encodes the reality that today's answer-engine tactics may not survive the year — a claim nobody's experiments confirm ages out on its own.

domain
xeo:Practice
range
xsd:duration

impressions

§ observation xeo-core
https://xeoontology.org/xeo#impressions
range
xsd:integer
grounded in
GSC Search Analytics API

interventionQuota

§ entity xeo-delivery
https://xeoontology.org/xeo#interventionQuota

Ceiling on interventions this project may deploy per period (retainer) or in total (one-off). Always present. Recommendations in an open status — pending, in_progress, blocked — consume it; advised work does not.

domain
xeo:Project
range
xsd:integer

isPrimary

§ interpretation xeo-delivery
https://xeoontology.org/xeo#isPrimary

Exactly one target per objective. The one the agent optimises for.

range
xsd:boolean

lastSeenAt

§ observation xeo-core
https://xeoontology.org/xeo#lastSeenAt

When an observed edge was most recently seen. With lastSeenCrawlId this is how a link is known to be live rather than merely once-observed.

range
xsd:dateTime

lift

§ observation xeo-decision
https://xeoontology.org/xeo#lift

The measured change the experiment recorded on its target metric.

domain
xeo:Outcome
range
xsd:decimal

magnitude

§ derivation xeo-decision
https://xeoontology.org/xeo#magnitude

How big the gap is, where the finding IS a size. Required together with magnitudeUnit and never alone: a magnitude with no unit is an uninterpretable number, a unit with no magnitude is noise.

domain
xeo:Gap
range
xsd:decimal

mentionRank

§ observation xeo-visibility
https://xeoontology.org/xeo#mentionRank

1-based order of the brand's first appearance in the response text. Carried on mentions edges.

range
xsd:integer

mentionRate

§ observation xeo-visibility
https://xeoontology.org/xeo#mentionRate

Share of captured responses in the window that mention the brand. Carried on visibilityFor rollups.

range
xsd:decimal

metaDescription

§ observation xeo-core
https://xeoontology.org/xeo#metaDescription

The meta description observed on a fetch. Carried on the fetched edge.

range
xsd:string
grounded in
WHATWG HTML (meta name=description)

method

§ interpretation xeo-decision
https://xeoontology.org/xeo#method

How an interpretation or derivation was produced (model, rule, human analyst). Expected on reveals, assessedAs, and every Recommendation.

range
xsd:string

metric

§ interpretation xeo-delivery
https://xeoontology.org/xeo#metric

Which metric the target is set on — clicks, impressions, ctr, position, rank_absolute, etv (see xeo-schemes objectiveMetric). The value vocabulary is the consumer's; the reference scheme records each metric's direction and unit.

range
xsd:string

model

§ episode xeo-visibility
https://xeoontology.org/xeo#model

Model identifier + version as reported at capture time. Without this the episode is not comparable across time.

range
xsd:string

modelVersion

§ episode xeo-visibility
https://xeoontology.org/xeo#modelVersion

The model build reported at capture time, where the engine distinguishes it from the model name. Without model + modelVersion an episode is not comparable across time.

range
xsd:string

name

§ entity xeo-core
https://xeoontology.org/xeo#name

The identifying name of a Term, Topic, Brand, or Capability. Unique within its scope; see schema.cypher for the per-class identity keys.

range
xsd:string

occurredAt

§ episode xeo-engagement
https://xeoontology.org/xeo#occurredAt
range
xsd:dateTime

origin

§ xeo-core
https://xeoontology.org/xeo#origin
domain
xeo:Website
range
xsd:string
grounded in
WHATWG URL Standard (origin serialization)

periodEnd

§ derivation xeo-core
https://xeoontology.org/xeo#periodEnd

Inclusive last day of a rollup window. Carried on ranksFor and visibilityFor.

range
xsd:date

periodStart

§ derivation xeo-core
https://xeoontology.org/xeo#periodStart

Inclusive first day of a rollup window. Carried on ranksFor and visibilityFor; never pool across windows silently.

range
xsd:date

position

§ observation xeo-core
https://xeoontology.org/xeo#position

1-based rank of a result within a SERP snapshot. Carried on hasResult. Distinct from avgPosition, which is a windowed rollup, not a single observation.

range
xsd:integer

practiceKind

§ norm xeo-strategy
https://xeoontology.org/xeo#practiceKind

How the Practice acts: 'guardrail' (veto a matching candidate), 'preference' (reorder it), or 'guidance' (attach a caveat, change nothing). The mechanism, kept as a small controlled string rather than a subclass.

domain
xeo:Practice
range
xsd:string

practiceOutcome

§ derivation xeo-strategy
https://xeoontology.org/xeo#practiceOutcome

Carried on an appliedPractice edge: 'vetoed' (a guardrail removed the candidate), 'reranked' (a preference moved it), or 'caveated' (guidance flagged it and changed nothing). One value per practiceKind. Domain left open because it rides on the edge, not on a node.

range
xsd:string

rationale

§ norm xeo-strategy
https://xeoontology.org/xeo#rationale

Why the rule exists — surfaced to a user when the Practice fires, so a veto or demotion is explained, never silent.

domain
xeo:Practice
range
xsd:string

rel

§ observation xeo-core
https://xeoontology.org/xeo#rel

The rel attribute of an observed hyperlink (nofollow, sponsored, ugc, ...). Carried on linksTo.

range
xsd:string
grounded in
WHATWG HTML (link types)

responses

§ observation xeo-visibility
https://xeoontology.org/xeo#responses

How many captured responses the rollup window covers — the denominator behind mentionRate and citationRate. Carried on visibilityFor; a rate without it cannot be weighted.

range
xsd:integer

result

§ observation xeo-decision
https://xeoontology.org/xeo#result

'significant', 'no_change' or 'inconclusive'. Answers DID THIS MOVE; lift's sign answers which way. A regression is significant — the value never smuggles a direction in.

domain
xeo:Outcome
range
xsd:string

resultReason

§ observation xeo-decision
https://xeoontology.org/xeo#resultReason

Why an outcome was inconclusive, from a small controlled set (window_incomplete, co_intervention, confounded_external, baseline_unavailable, ...). The two confounder reasons differ on purpose: a co-intervention keeps its lift and shares attribution; an external confounder records none.

domain
xeo:Outcome
range
xsd:string

resultsWindowDays

§ interpretation xeo-delivery
https://xeoontology.org/xeo#resultsWindowDays

The measurement window every target in this objective is read over. One horizon per campaign; per-target windows are deliberately not modelled.

domain
xeo:Objective
range
xsd:integer

resultType

§ observation xeo-core
https://xeoontology.org/xeo#resultType

The kind of SERP result observed (organic, featured snippet, local pack, ...). Carried on hasResult; the vocabulary is per-engine and belongs to the consumer.

range
xsd:string

score

§ interpretation xeo-decision
https://xeoontology.org/xeo#score

The value assigned on the assessed dimension. Scale is defined by the dimension scheme, not fixed here.

range
xsd:decimal

source

§ norm xeo-strategy
https://xeoontology.org/xeo#source

Provenance of an assertion. The value vocabulary is subject-specific. On a Practice: 'authored' (a human SOP or best-practice — high standing, durable), 'learned' (earned from the experiment ledger — confidence ratchets with Outcomes), or 'claimed' (an unproven assertion, e.g. a current answer-engine tactic — ships low-confidence with a halfLife and decays unless experiments promote it); this lets one class hold a firm SOP and a fragile claim without conflating their trust. On a ranksFor or visibilityFor rollup: the data source the window was built from. DOMAIN LEFT OPEN deliberately — rdfs:domain is an entailment rule, not a constraint, so naming xeo:Practice here would silently type every rollup edge carrying a source as a Practice.

range
xsd:string

statement

§ norm xeo-strategy
https://xeoontology.org/xeo#statement

The rule in plain language, as a human authored or confirmed it — e.g. 'Never 301 a paginated archive URL for ranking purposes.' The canonical human-facing form; the structural fields (practiceKind, appliesToConcept, constrains) make it executable.

domain
xeo:Practice
range
xsd:string

status

§ norm xeo-strategy
https://xeoontology.org/xeo#status

Lifecycle state of a revisable term. The value vocabulary is subject-specific. On a Practice: 'proposed', 'active', or 'deprecated' — a proposed Practice is visible but does not fire, and superseding one deprecates it. DOMAIN LEFT OPEN deliberately, so another revisable term (the execution lifecycle of a Recommendation, say) can carry a lifecycle without being entailed a Practice.

range
xsd:string

statusCode

§ observation xeo-core
https://xeoontology.org/xeo#statusCode
range
xsd:integer
grounded in
RFC 9110 §15 (Status Codes)

targetKind

§ interpretation xeo-delivery
https://xeoontology.org/xeo#targetKind

'absolute' (targetValue is a value of the metric) or 'percent' (a relative change from baseline in the metric's better direction).

range
xsd:string

targetValue

§ interpretation xeo-delivery
https://xeoontology.org/xeo#targetValue

The value the metric should reach, interpreted per targetKind. Bounded per metric and kind at the edge — a percentage, a count, a rank and a currency do not share a range.

range
xsd:decimal

text

§ entity xeo-visibility
https://xeoontology.org/xeo#text

The natural-language body of a Prompt as posed to the engine. Part of a Prompt's identity together with websiteId.

range
xsd:string

title

§ observation xeo-core
https://xeoontology.org/xeo#title

The document title observed on a fetch. Carried on the fetched edge, not on the URL: the address is durable, the title is what one crawl saw.

range
xsd:string
grounded in
WHATWG HTML (the title element)

webSearchEnabled

§ episode xeo-visibility
https://xeoontology.org/xeo#webSearchEnabled

Whether the engine could search the web for this response. Citation behavior differs sharply with this flag; never pool across it silently.

range
xsd:boolean

websiteId

§ entity xeo-core
https://xeoontology.org/xeo#websiteId

The tenancy key. Scope lives in this property on every scoped node and edge, never in a dynamic label — the identity half of 'tenancy is data, not schema'.

range
xsd:string

Annotation properties

4

canonicalStore

§ xeo-core
https://xeoontology.org/xeo#canonicalStore

Where this term's instances authoritatively live: neo4j, bigquery, vector-store, crm. The ontology is storage-agnostic; identity keys (websiteId, address, term name, date) join across stores.

epistemicLayer

§ xeo-core
https://xeoontology.org/xeo#epistemicLayer

One of: entity, episode, observation, derivation, interpretation, norm. Types every term by the kind of claim it makes. Core terms stay at entity/episode/observation/derivation; extension modules may introduce interpretation- or norm-layer terms and must mark them.

fillsSlot

§ xeo-schemes
https://xeoontology.org/xeo#fillsSlot

Names the XEO property whose skos:Concept range (or controlled-string value) this scheme is a reference filling for — xeo:gapType, xeo:atPriority, xeo:inIntervention, xeo:status. A consumer reading a slot property can follow this to a published default; nothing in the ontology requires it.

groundedIn

§ xeo-core
https://xeoontology.org/xeo#groundedIn

The primary standard or API contract that defines this term's meaning.

Individuals

4

CommercialInvestigation

§ Commercial Investigation xeo-engagement
https://xeoontology.org/xeo#CommercialInvestigation

Informational

§ xeo-engagement
https://xeoontology.org/xeo#Informational

Transactional

§ xeo-engagement
https://xeoontology.org/xeo#Transactional

Modules

7

align-module

§ XEO Alignment (schema.org · PROV-O · SKOS) xeo-align
https://xeoontology.org/xeo#align-module

Optional crosswalk from XEO terms to foundational web vocabularies. Alignments, not imports: XEO is self-contained without them.

seeAlso
schema: · prov: · skos:
creator
Inbound Found
version
0.5.0

decision-module

§ XEO Decision (the interpretation tier) xeo-decision
https://xeoontology.org/xeo#decision-module

The top stratum of the core sample: where an observed condition becomes a diagnosed Gap, a Gap becomes candidate Tactics, the capability gate filters them to what is in reach, prior Experiments say which tactic has earned trust, and a Recommendation is issued — labeled, honestly, as an interpretation. Ships CLASSES, never VALUES: the dimensions, weights, and governing rules live one layer higher, in xeo-strategy.

creator
Inbound Found
version
0.5.0

delivery-module

§ XEO Delivery (projects, campaigns, objectives) xeo-delivery
https://xeoontology.org/xeo#delivery-module

The container work is delivered in: a Project (the contract — type, quota, scope), its Campaigns (a body of work against one Topic), the Objective each campaign is measured by, and the MetricTargets an Experiment is read against. Lifted from a production implementation; fills the layer the decision and norms tiers left open.

creator
Inbound Found
version
0.5.0

engagement-module

§ XEO Engagement (draft) xeo-engagement
https://xeoontology.org/xeo#engagement-module

DRAFT v0. The seam between web-engine visibility and the pipeline: intents, conversion points, conversion events, and identity-key pointers into whatever CRM you run.

creator
Inbound Found
version
0.5.0

schemes-module

§ XEO Reference Schemes xeo-schemes
https://xeoontology.org/xeo#schemes-module

SKOS concept schemes filling the slots the XEO ontology leaves open — gap types, verdicts, priorities, the intervention catalogue, lifecycles, metrics. Published reference values, not part of the ontology's class vocabulary; adopt, extend, or replace.

creator
Inbound Found
version
0.5.0

strategy-module

§ XEO Strategy (the norms tier) xeo-strategy
https://xeoontology.org/xeo#strategy-module

The layer xeo-decision deliberately left open: the standing rules — best practices, SOPs, lessons learned — that veto, reorder, or caveat a Recommendation before it reaches a human, the reusable Playbooks those rules travel in, and the tenancy axis that decides whose rules win. Introduces the norm stratum: a claim about what SHOULD govern a choice, as opposed to what is or is inferred to be.

creator
Inbound Found
version
0.5.0

visibility-module

§ XEO Visibility (the xEO layer) xeo-visibility
https://xeoontology.org/xeo#visibility-module

Extends XEO Core with the terms needed once the engine stops being a results page and starts being an answer: engines, prompts, captured responses, citations, mentions, and the visibility rollups over them.

creator
Inbound Found
version
0.5.0
xeo-align.ttl schema.org / PROV-O / SKOS bridges xeo-schemes.ttl the slots, filled xeo-delivery.ttl the delivery layer xeo-strategy.ttl the norms tier xeo-decision.ttl the interpretation tier xeo-engagement.ttl draft v0 xeo-visibility.ttl the xEO layer — field-tested xeo-core.ttl the SEO substrate — stable