@prefix : <https://substack.com/app-link/post?publication_id=594665&post_id=211009254#> .
@prefix schema: <http://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix dbo: <http://dbpedia.org/ontology/> .
@prefix dbr: <http://dbpedia.org/resource/> .

#################################################################
# The Enterprise AI Coordinate System
# Gennaro Cuofano, The Business Engineer (Substack), 2026-08-13
# Base grounded in the Substack app-link permalink for this post:
# https://substack.com/app-link/post?publication_id=594665&post_id=211009254
#################################################################

# ============================================================
# ONTOLOGY
# ============================================================

: a owl:Ontology ;
    schema:name "Enterprise AI Coordinate System Ontology"@en ;
    rdfs:label "Enterprise AI Coordinate System Ontology"@en ;
    schema:description "Lightweight vocabulary modeling the nine-layer enterprise AI stack, the junction-to-end realised-migration-cost axis, and the per-vendor teardown verdicts (Control, Capability, Choice, Cost, Compound) introduced by Gennaro Cuofano's coordinate-system framework for enterprise AI vendor lock-in."@en ;
    schema:identifier "https://substack.com/app-link/post?publication_id=594665&post_id=211009254"^^xsd:anyURI ;
    owl:versionInfo "1.0.0"^^xsd:string ;
    schema:dateCreated "2026-08-13"^^xsd:date .

:Layer a owl:Class, rdfs:Class ;
    rdfs:isDefinedBy : ;
    rdfs:label "Layer"@en ;
    rdfs:comment "One of the nine vertical positions in the enterprise AI stack, ordered by proximity to the human business decision: from Judgment (closest) down to Silicon (furthest, closest to raw compute)."@en .

:hasLayerIndex a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain :Layer ;
    rdfs:range xsd:integer ;
    rdfs:label "has layer index"@en ;
    rdfs:comment "Ordinal position of the layer in the nine-layer stack: 1 (Judgment) through 9 (Silicon)."@en .

:hasJunctionEndPosture a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain :Layer ;
    rdfs:range xsd:string ;
    rdfs:label "has junction-end posture"@en ;
    rdfs:comment "The layer's position on the horizontal junction-to-end axis: Junction (high realised migration cost, hard to leave), End (low realised migration cost, rentable/swappable), or Contested (both postures are actively fought over within the layer)."@en .

:hasPrimaryOccupant a owl:ObjectProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain :Layer ;
    rdfs:range schema:Thing ;
    rdfs:label "has primary occupant"@en ;
    rdfs:comment "Links a layer to the organization(s) or product(s) the article identifies as currently occupying or annexing that layer."@en .

:hasControlVerdict a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain schema:Organization ;
    rdfs:range xsd:string ;
    rdfs:label "has control verdict"@en ;
    rdfs:comment "Teardown verdict (KEPT / PARTIAL / CAPTURED) for the Control test: who owns the eval registry."@en .

:hasCapabilityVerdict a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain schema:Organization ;
    rdfs:range xsd:string ;
    rdfs:label "has capability verdict"@en ;
    rdfs:comment "Teardown verdict (KEPT / PARTIAL / CAPTURED) for the Capability test: whether fine-tuned weights are exportable."@en .

:hasChoiceVerdict a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain schema:Organization ;
    rdfs:range xsd:string ;
    rdfs:label "has choice verdict"@en ;
    rdfs:comment "Teardown verdict (KEPT / PARTIAL / CAPTURED) for the Choice test: whether the orchestration abstraction is portable."@en .

:hasCostVerdict a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain schema:Organization ;
    rdfs:range xsd:string ;
    rdfs:label "has cost verdict"@en ;
    rdfs:comment "Teardown verdict (KEPT / PARTIAL / CAPTURED) for the Cost test: whether the router keeps model choice a runtime toggle."@en .

:hasCompoundVerdict a owl:DatatypeProperty ;
    rdfs:isDefinedBy : ;
    rdfs:domain schema:Organization ;
    rdfs:range xsd:string ;
    rdfs:label "has compound verdict"@en ;
    rdfs:comment "Teardown verdict (KEPT / PARTIAL / CAPTURED) for the Compound test: whether loop state and governed data travel with the buyer."@en .

# ============================================================
# SKILL PROVENANCE
# ============================================================

<https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator#this> a schema:SoftwareApplication ;
    schema:name "kg-generator skill"@en ;
    schema:url <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator> ;
    schema:description "Business & Market Analysis RDF-Turtle generation template used to produce this Knowledge Graph."@en .

<https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/rdf-infographic-skill#this> a schema:SoftwareApplication ;
    schema:name "rdf-infographic-skill"@en ;
    schema:url <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/rdf-infographic-skill> ;
    schema:description "HTML infographic and KG Explorer generation skill used to produce the companion webpage for this Knowledge Graph."@en .

# ============================================================
# AUTHOR & PUBLISHER
# ============================================================

<https://www.linkedin.com/in/gennarocuofano#this> a schema:Person ;
    schema:name "Gennaro Cuofano"@en ;
    schema:url <https://www.linkedin.com/in/gennarocuofano> ;
    schema:identifier "https://www.linkedin.com/in/gennarocuofano" ;
    schema:jobTitle "Founder"@en ;
    schema:description "Founder of The Business Engineer and FourWeekMBA; writes on enterprise AI strategy, business model design, and technology strategy."@en ;
    owl:sameAs <https://x.com/fourweekmba#this>, <https://substack.com/@thebusinessengineer#this> .

<https://x.com/fourweekmba#this> a schema:Person ;
    schema:name "Gennaro Cuofano"@en ;
    schema:url <https://x.com/fourweekmba> .

<https://substack.com/@thebusinessengineer#this> a schema:Person ;
    schema:name "Gennaro Cuofano"@en ;
    schema:url <https://substack.com/@thebusinessengineer> .

:businessEngineerOrg a schema:Organization ;
    schema:name "The Business Engineer"@en ;
    schema:url <https://businessengineer.ai/> ;
    schema:identifier "https://businessengineer.ai/" ;
    schema:description "Gennaro Cuofano's Substack publication analysing enterprise technology, AI strategy, and business models."@en ;
    schema:founder <https://www.linkedin.com/in/gennarocuofano#this> .

# ============================================================
# MAIN ANALYSIS
# ============================================================

:analysis a schema:Article ;
    schema:headline "The Enterprise AI Coordinate System"@en ;
    schema:name "The Enterprise AI Coordinate System"@en ;
    schema:url <https://businessengineer.ai/p/the-enterprise-ai-coordinate-system> ;
    schema:datePublished "2026-08-13"^^xsd:date ;
    schema:author <https://www.linkedin.com/in/gennarocuofano#this> ;
    schema:publisher :businessEngineerOrg ;
    schema:abstract "Enterprise AI vendors should be mapped on two structural axes — a nine-layer stack and a junction-to-end migration-cost score — not by category, to reveal where lock-in actually forms."@en ;
    schema:description "Replaces category-based enterprise AI vendor maps with a two-axis coordinate system: nine layers from Judgment to Silicon, scored on a junction-to-end realised-migration-cost axis, plus a five-vendor teardown and a four-move buyer playbook."@en ;
    prov:wasGeneratedBy <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator#this>,
        <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/rdf-infographic-skill#this> ;
    schema:hasPart :, :layersSection, :teardownSection, :playbookThesis, :faqSection, :glossarySection, :howtoSection, :agentCommentarySection .

: schema:isPartOf :analysis .
:layersSection schema:isPartOf :analysis .
:teardownSection schema:isPartOf :analysis .
:playbookThesis schema:isPartOf :analysis .
:faqSection schema:isPartOf :analysis .
:glossarySection schema:isPartOf :analysis .
:howtoSection schema:isPartOf :analysis .
:agentCommentarySection schema:isPartOf :analysis .

:playbookThesis a schema:CreativeWork ;
    schema:name "Own Three Junctions, Rent Everything Below the Band"@en ;
    schema:description "The prescriptive core of the piece: own the orchestration abstraction, the eval registry, and memory in open formats on neutral ground; rent foundation models, inference, and compute; respect the Taiwan/Korea packaging chokepoint that no amount of money escapes. 'Memory in open formats, on neutral ground' concretely means an RDF/SPARQL knowledge graph — plain, standards-based files loosely coupled to whichever engine serves them, rather than a vendor-owned catalog or ontology."@en ;
    schema:about <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory#this>, dbr:Virtuoso_Universal_Server ;
    schema:isPartOf :analysis .

:silliconChokepoint a schema:CreativeWork ;
    schema:name "The Packaging & Memory Chokepoint"@en ;
    schema:description "Advanced packaging and high-bandwidth memory are the one captivity money cannot buy out of: sold out, concentrated in a handful of clients, funnelling every accelerator through Taiwan and Korea."@en ;
    schema:about dbr:Taiwan, dbr:South_Korea ;
    schema:isPartOf :playbookThesis .

dbr:Taiwan a schema:Country ;
    schema:identifier "TW" .

dbr:South_Korea a schema:Country ;
    schema:identifier "KR" .

# ============================================================
# THE NINE LAYERS
# ============================================================

:layersSection a schema:CreativeWork ;
    schema:name "The Nine-Layer Vertical Axis"@en ;
    schema:description "The vertical axis of the Coordinate System, ordered by proximity to the business decision, from Judgment down to Silicon."@en ;
    schema:hasPart :layer1Judgment, :layer2Application, :layer3EvalsGovernance, :layer4MemoryState,
        :layer5Orchestration, :layer6Inference, :layer7FoundationModels, :layer8Compute, :layer9Silicon .

:layer1Judgment a :Layer ;
    schema:name "Layer 1 — Judgment"@en ;
    schema:description "The surface where humans and agents commit business judgments — write-backs, approvals, kill-decisions — against a live system of record. Currently a single occupant: Palantir AIP."@en ;
    :hasLayerIndex 1 ;
    :hasJunctionEndPosture "Junction"@en ;
    :hasPrimaryOccupant :palantirAIP .

:layer2Application a :Layer ;
    schema:name "Layer 2 — Application"@en ;
    schema:description "Three cells: the frontier-lab workspace (a substitutable chat surface), the coding agent (a genuine, coalition-independent junction built from accumulated repo context and agent memory), and the enterprise SaaS copilot (an inherited junction whose moat is the CRM/document graph it is bolted onto)."@en ;
    :hasLayerIndex 2 ;
    :hasJunctionEndPosture "Contested"@en ;
    :hasPrimaryOccupant :claudeCode, <http://dbpedia.org/resource/Cursor_(code_editor)>, dbr:GitHub_Copilot, dbr:Microsoft_365_Copilot, :salesforceAgentforce .

:layer3EvalsGovernance a :Layer ;
    schema:name "Layer 3 — Evals and Governance"@en ;
    schema:description "The battlefield layer. ServiceNow AI Control Tower is the dominant junction: it governs agents it did not build via a neutral connector, then captures the buyer through workflow gravity. Passed a billion dollars in annual contract value this year."@en ;
    :hasLayerIndex 3 ;
    :hasJunctionEndPosture "Junction"@en ;
    :hasPrimaryOccupant :serviceNowAIControlTower .

:layer4MemoryState a :Layer ;
    schema:name "Layer 4 — Memory and State"@en ;
    schema:description "The deepest junction on the board. Palantir's typed, live Ontology is the buyer's decision substrate with no semantic-layer export — the load-bearing wall that Judgment (Layer 1) is built on top of. A vendor-agnostic alternative exists at the End pole of this same layer: an open RDF Knowledge Graph memory pattern (see agentCommentarySection) using plain, git-versioned Turtle files and SPARQL, loosely coupled to whichever RDF engine serves it."@en ;
    :hasLayerIndex 4 ;
    :hasJunctionEndPosture "Junction"@en ;
    :hasPrimaryOccupant :palantirOntology, <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory#this> .

:layer5Orchestration a :Layer ;
    schema:name "Layer 5 — Orchestration"@en ;
    schema:description "The hyperscaler control-plane annex (Microsoft Foundry + Agent 365, AWS Bedrock, Google Vertex, Salesforce Agentforce) versus the open counter — LangGraph, agentgateway, MCP, and routing intermediaries like OpenRouter and LiteLLM — which is the most-adopted set of components on the board."@en ;
    :hasLayerIndex 5 ;
    :hasJunctionEndPosture "Contested"@en ;
    :hasPrimaryOccupant :microsoftFoundryAgent365, :awsBedrock, :googleVertexAI, :salesforceAgentforce, :langGraph, dbr:Model_Context_Protocol .

:layer6Inference a :Layer ;
    schema:name "Layer 6 — Inference"@en ;
    schema:description "The drop-in serving layer. Hugging Face put its own server into maintenance in favour of vLLM, which ships daily with Red Hat and Meta co-committed. A standard-API server is low realised migration cost even at near-universal adoption."@en ;
    :hasLayerIndex 6 ;
    :hasJunctionEndPosture "End"@en ;
    :hasPrimaryOccupant :vLLM .

:layer7FoundationModels a :Layer ;
    schema:name "Layer 7 — Foundation Models"@en ;
    schema:description "The commodity layer, proven: more than three hundred priced models in the open catalog, more than half at or below fifty cents per million tokens, a median prompt price of forty-five cents, and only eighteen models clearing the frontier tier."@en ;
    :hasLayerIndex 7 ;
    :hasJunctionEndPosture "End"@en ;
    :hasPrimaryOccupant :deepSeekV4Pro .

:layer8Compute a :Layer ;
    schema:name "Layer 8 — Compute"@en ;
    schema:description "Commodity GPU capacity to rent from Azure, AWS, and Google Cloud — the end pole that pretends to matter. Value accretes one floor up in the control planes, not here."@en ;
    :hasLayerIndex 8 ;
    :hasJunctionEndPosture "End"@en ;
    :hasPrimaryOccupant dbr:Microsoft_Azure, dbr:Amazon_Web_Services, dbr:Google_Cloud_Platform .

:layer9Silicon a :Layer ;
    schema:name "Layer 9 — Silicon"@en ;
    schema:description "Three lock-in vectors, not three chips: CUDA software lock-in (Nvidia), cloud captivity (TPU/Trainium/Maia tied to their own cloud), and the supply chokepoint of advanced packaging and high-bandwidth memory funnelled through Taiwan and Korea. AMD is the textbook end — cheaper on inference, no equivalent lock."@en ;
    :hasLayerIndex 9 ;
    :hasJunctionEndPosture "Contested"@en ;
    :hasPrimaryOccupant dbr:Nvidia, dbr:AMD, dbr:Tensor_Processing_Unit, dbr:CUDA .

# ============================================================
# ORGANIZATIONS
# ============================================================

dbr:Palantir_Technologies a schema:Organization ;
    :hasControlVerdict "CAPTURED — everything that compounds (decision graph, action-types, audit trail) is captured; a machine-readable Ontology export on termination is the hardest fight on the board."@en ;
    :hasCapabilityVerdict "KEPT — the model is fully portable and swappable, deliberately the one C that no longer matters."@en ;
    :hasChoiceVerdict "N/A — Palantir is scored on the Judgment/Memory layers, not the Orchestration teardown cell."@en ;
    :hasCostVerdict "N/A — not scored on the router test."@en ;
    :hasCompoundVerdict "CAPTURED — the deepest capture on the board; the decision graph and audit trail have no export path."@en .

dbr:Microsoft a schema:Organization ;
    :hasControlVerdict "PARTIAL — eval runs and open-weight fine-tunes exportable, but the persistent registry stays Azure-bound."@en ;
    :hasCapabilityVerdict "PARTIAL — open-weight fine-tunes exportable; premium fine-tunes stay Azure-bound."@en ;
    :hasChoiceVerdict "KEPT — open frameworks deploy on Foundry without a rewrite."@en ;
    :hasCostVerdict "PARTIAL"@en ;
    :hasCompoundVerdict "CAPTURED — identity, policy, and loop state are an Azure-native control plane; a six-week migration fails there."@en .

dbr:Databricks a schema:Organization ;
    :hasControlVerdict "KEPT — the eval registry is open, self-hostable, and explicitly no-lock-in."@en ;
    :hasCapabilityVerdict "KEPT — fine-tune open weights and the adapted weights are yours."@en ;
    :hasChoiceVerdict "KEPT"@en ;
    :hasCostVerdict "KEPT — pricing indexed to the commodity model floor."@en ;
    :hasCompoundVerdict "PARTIAL — the governance catalog spans open table formats with a genuine exit; residual lock-in is lineage-graph gravity, not format capture."@en .

dbr:Amazon_Web_Services a schema:Organization ;
    :hasControlVerdict "PARTIAL"@en ;
    :hasCapabilityVerdict "PARTIAL — customised open-weight models can be brought in, but Bedrock-native fine-tunes are hosted with no weight export."@en ;
    :hasChoiceVerdict "PARTIAL — the harness is framework-agnostic, but the runtime is AWS-native."@en ;
    :hasCostVerdict "PARTIAL"@en ;
    :hasCompoundVerdict "CAPTURED — managed memory and native identity/network/storage bindings mean the loop state does not travel."@en .

<http://dbpedia.org/resource/Snowflake_Inc.> a schema:Organization ;
    :hasControlVerdict "PARTIAL"@en ;
    :hasCapabilityVerdict "CAPTURED — training output stays within Snowflake, with no documented weight-export path."@en ;
    :hasChoiceVerdict "PARTIAL"@en ;
    :hasCostVerdict "PARTIAL"@en ;
    :hasCompoundVerdict "PARTIAL — open table formats and an open catalog genuinely lower the moat; query-from-any-engine is a real exit."@en .

dbr:Salesforce a schema:Organization .
dbr:ServiceNow a schema:Organization .
dbr:Google a schema:Organization .
dbr:Nvidia a schema:Organization .
dbr:AMD a schema:Organization .
dbr:OpenAI a schema:Organization .
dbr:Anthropic a schema:Organization .
dbr:Meta_Platforms a schema:Organization .
dbr:Hugging_Face a schema:Organization .
dbr:Red_Hat a schema:Organization .
dbr:IBM a schema:Organization .
dbr:LangChain a schema:Organization .
dbr:DeepSeek a schema:Organization .
<http://dbpedia.org/resource/Blackstone_Inc.> a schema:Organization .
dbr:SpaceX a schema:Organization .

# ============================================================
# PRODUCTS (document-local — no confirmed dedicated DBpedia/Wikidata article)
# ============================================================

:palantirAIP a schema:SoftwareApplication ;
    schema:name "Palantir AIP"@en ;
    schema:brand dbr:Palantir_Technologies ;
    schema:description "The decision surface where humans and agents commit write-backs, approvals, and kill-decisions against a live system of record. The underlying model is fully portable and swappable — the junction is the decision graph and action-types, not the model."@en .

:palantirOntology a schema:Thing ;
    schema:name "Palantir Ontology"@en ;
    schema:brand dbr:Palantir_Technologies ;
    schema:description "Palantir's typed, live decision substrate. Not literally 'no export' — object data can usually be piped out — but the decision-graph and action-type logic as a runnable artifact has no export path, making it the highest realised migration cost on the board."@en .

:serviceNowAIControlTower a schema:SoftwareApplication ;
    schema:name "ServiceNow AI Control Tower"@en ;
    schema:brand dbr:ServiceNow ;
    schema:description "A pure control-plane play that discovers, observes, governs, and measures AI across any vendor through a neutral connector, wrapped in compliance frameworks. Passed a billion dollars in annual contract value this year; Anthropic signed on as its first design partner."@en .

:microsoftFoundryAgent365 a schema:SoftwareApplication ;
    schema:name "Microsoft Foundry + Agent 365"@en ;
    schema:brand dbr:Microsoft ;
    schema:description "A control plane wrapped in a liberal harness — open frameworks deploy without a rewrite, but identity, governance, and monitoring are Azure-native and non-portable."@en .

:awsBedrock a schema:SoftwareApplication ;
    schema:name "AWS Bedrock"@en ;
    schema:brand dbr:Amazon_Web_Services ;
    schema:description "A model-agnostic gateway offering roughly a hundred thousand organisations access to GPT and Claude models alongside Amazon's own, on identity, network, and storage bindings that are AWS-native."@en .

:googleVertexAI a schema:SoftwareApplication ;
    schema:name "Google Vertex AI"@en ;
    schema:brand dbr:Google ;
    schema:description "Meters agent memory by the event and bills governance policies as a line item. Gemini Enterprise now touches roughly nine in ten of the Fortune 100 through this estate."@en .

:salesforceAgentforce a schema:SoftwareApplication ;
    schema:name "Salesforce Agentforce"@en ;
    schema:brand dbr:Salesforce ;
    schema:description "Reasoning locked to Salesforce models, with CRM gravity extended to the agent layer, and a governance pact with Databricks."@en .

:claudeCode a schema:SoftwareApplication ;
    schema:name "Claude Code"@en ;
    schema:brand dbr:Anthropic ;
    schema:description "A coding agent whose switching cost is the accumulated repo context, custom rules, and agent memory built into a daily workflow — freely swaps the underlying model."@en .

:langGraph a schema:SoftwareApplication ;
    schema:name "LangGraph"@en ;
    schema:brand dbr:LangChain ;
    schema:description "The open, cloud-agnostic orchestration control point. Deploys on every hyperscaler harness without a rewrite and carries the largest orchestration ecosystem on the board."@en .

:vLLM a schema:SoftwareApplication ;
    schema:name "vLLM"@en ;
    schema:description "The open inference server that consolidated the drop-in serving layer this year, shipping daily with Red Hat and Meta co-committed after Hugging Face put its own server into maintenance."@en .

:deepSeekV4Pro a schema:SoftwareApplication ;
    schema:name "DeepSeek V4 Pro"@en ;
    schema:brand dbr:DeepSeek ;
    schema:description "An open-weight model running across sixteen providers at a fourfold price spread, delivering roughly three-quarters of frontier capability at a small fraction of flagship price."@en .

dbr:Model_Context_Protocol a schema:SoftwareApplication ;
    schema:description "The connective standard that won: foundation-governed, hundreds of millions of downloads a month, exposed by every data incumbent — weakening each of their own moats."@en .

dbr:GitHub_Copilot a schema:SoftwareApplication ;
    schema:description "The hyperscaler-owned member of the coding-agent junction trio, alongside Claude Code and Cursor."@en .

<http://dbpedia.org/resource/Cursor_(code_editor)> a schema:SoftwareApplication ;
    schema:description "The independent member of the coding-agent junction trio; like Claude Code and GitHub Copilot, freely swaps models while the accumulated workflow context stays sticky."@en .

dbr:Microsoft_365_Copilot a schema:SoftwareApplication ;
    schema:description "An enterprise SaaS copilot whose junction is inherited from the CRM/document graph it is bolted onto — the copilot itself is a substitutable chat surface."@en .

# ============================================================
# TEARDOWN SECTION
# ============================================================

:teardownSection a schema:CreativeWork ;
    schema:name "The Teardown — Five Vendors, Five Tests, Plus a Sixth Vendor-Agnostic Option"@en ;
    schema:description "Control, Capability, Choice, Cost, and Compound scored KEPT / PARTIAL / CAPTURED for the five vendors racing to annex the contested mid-band — Microsoft Foundry, Palantir AIP, Databricks, AWS Bedrock, and Snowflake — plus a sixth, agent-authored entry: the open RDF Knowledge Graph memory pattern (agent-rdf-memory), scored KEPT on all five tests because it is not a vendor at all, only a set of open-standards conventions (RDF, Turtle, SPARQL) that any compliant engine — including Virtuoso — can serve."@en ;
    schema:about dbr:Microsoft, dbr:Palantir_Technologies, dbr:Databricks, dbr:Amazon_Web_Services, <http://dbpedia.org/resource/Snowflake_Inc.>,
        <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory#this> .

# ============================================================
# FAQ
# ============================================================

:faqSection a schema:FAQPage ;
    schema:name "Frequently Asked Questions"@en ;
    schema:mainEntity :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12, :q13, :q14, :q15, :q16 .

:q1 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What is the central thesis of 'The Enterprise AI Coordinate System'?"@en ;
    schema:acceptedAnswer :a1 .
:a1 a schema:Answer ;
    schema:text "Enterprise AI vendors should be mapped on two structural axes — a nine-layer stack and a junction-to-end realised-migration-cost score — instead of by category, because category tells you what a thing is called but never where value pools or where you get locked in."@en .

:q2 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Why does the article reject category-based enterprise AI vendor maps?"@en ;
    schema:acceptedAnswer :a2 .
:a2 a schema:Answer ;
    schema:text "A category is a naming question, not a structural one. A foundation model and a data ontology can share the same category slide yet sit at opposite poles of lock-in — the model layer is the most commoditized on the board, while Palantir's Ontology has no export path."@en .

:q3 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What are the two axes of the Coordinate System?"@en ;
    schema:acceptedAnswer :a3 .
:a3 a schema:Answer ;
    schema:text "The vertical axis is nine layers ordered by proximity to the business decision, from Judgment down to Silicon. The horizontal axis runs from junction ('everything depends on this and leaving is agony') to end ('I rent this and swap it on a whim'), scored from the buyer's seat as realised migration cost — never from the vendor's pitch deck."@en .

:q4 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What is a 'junction' versus an 'end' in this framework?"@en ;
    schema:acceptedAnswer :a4 .
:a4 a schema:Answer ;
    schema:text "A junction is a component with high realised migration cost — the typed ontology, the identity graph, the compiled kernel. An end is something you rent, consume, and swap without pain. Popularity is not lock-in: what locks you in is what you cannot take with you when you walk."@en .

:q5 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Which nine layers make up the vertical axis?"@en ;
    schema:acceptedAnswer :a5 .
:a5 a schema:Answer ;
    schema:text "Judgment, Application, Evals and governance, Memory and state, Orchestration, Inference, Foundation models, Compute, and Silicon — read as gravity, with the higher layers closer to the decision a human commits and harder to rip out."@en .

:q6 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Why is Palantir positioned as the deepest capture on the board?"@en ;
    schema:acceptedAnswer :a6 .
:a6 a schema:Answer ;
    schema:text "Palantir AIP's architecture makes the underlying model fully portable — a deliberate decoy. The junction is the decision graph and action-types in its Ontology, which have no export path, so Palantir appears at both the top (Judgment) and the middle (Memory and state) of the stack."@en .

:q7 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What is the 'contested band' and which three layers does it comprise?"@en ;
    schema:acceptedAnswer :a7 .
:a7 a schema:Answer ;
    schema:text "The contested band is Orchestration, Memory and state, and Evals and governance — the three middle layers the data incumbents annex by climbing out of the layer they already own (Databricks and Snowflake from data, Salesforce from CRM, ServiceNow from workflow)."@en .

:q8 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Why do hyperscalers 'appear twice' on the map?"@en ;
    schema:acceptedAnswer :a8 .
:a8 a schema:Answer ;
    schema:text "Each hyperscaler shows up once as rented-away commodity compute near the end pole (Layer 8), and again as a control-plane junction near the top of the score (Layer 5 orchestration). The duplication is the point: value accretes at the higher cell, never the commodity floor."@en .

:q9 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What are the four moves of the buyer playbook?"@en ;
    schema:acceptedAnswer :a9 .
:a9 a schema:Answer ;
    schema:text "Locate your vendors and pin every AI line item to a layer; read the horizontal position (own or rent) for each; trace the dependency arrows to find who you are actually captive to; and spot the contested band where your leverage lives or dies."@en .

:q10 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What is the Compounding-Loop Test?"@en ;
    schema:acceptedAnswer :a10 .
:a10 a schema:Answer ;
    schema:text "The final test for any cell: does value compound in place, so that leaving costs more every day you stay? A price-competed model fails this test; a live decision graph passes it — every write-back and approval deepens a trail you cannot export."@en .

:q11 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "How does the article score the five vendors in the teardown?"@en ;
    schema:acceptedAnswer :a11 .
:a11 a schema:Answer ;
    schema:text "Databricks is the reference model of a portable junction (mostly KEPT). Palantir AIP is the deepest capture (Compound CAPTURED). Microsoft Foundry keeps Choice but loses Compound to Azure-native identity and policy. AWS Bedrock is CAPTURED on Compound via managed memory. Snowflake is PARTIAL on Compound but CAPTURED on Capability, since trained weights have no documented export path."@en .

:q12 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What three artifacts should enterprises always negotiate to export?"@en ;
    schema:acceptedAnswer :a12 .
:a12 a schema:Answer ;
    schema:text "Export my evals, export my weights, export my state — the three artifacts that convert a CAPTURED cell into a PARTIAL one across every vendor negotiation in the teardown."@en .

:q13 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Why is the foundation model layer described as a commodity 'end'?"@en ;
    schema:acceptedAnswer :a13 .
:a13 a schema:Answer ;
    schema:text "The open catalog holds more than three hundred priced models; more than half sell at or below fifty cents per million tokens, the median prompt price is forty-five cents, and only eighteen models clear the frontier tier — the same weights, priced by many hosts, cannot be a junction."@en .

:q14 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "What silicon-layer lock-in vectors does the article identify?"@en ;
    schema:acceptedAnswer :a14 .
:a14 a schema:Answer ;
    schema:text "Three vectors, not three chips: CUDA software lock-in on Nvidia; cloud captivity for custom silicon like TPU, Trainium, and Maia, which cannot run off their own cloud; and the packaging/high-bandwidth-memory supply chokepoint funnelled through Taiwan and Korea, which no amount of money escapes."@en .

# ============================================================
# GLOSSARY
# ============================================================

:glossarySection a skos:ConceptScheme, schema:DefinedTermSet ;
    schema:name "Glossary"@en ;
    schema:hasDefinedTerm :junction, :end, :coordinateSystem, :contestedBand, :appearsTwice,
        :dependencyArrows, :compoundingLoopTest, :agnosticEnterpriseAIHarness, :teardownVerdict,
        :realisedMigrationCost, :codingAgentJunction, :systemOfRecord, :looseCoupling .

:junction a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Junction"@en ;
    schema:description "A position where everything depends on the component and leaving is agony — high realised migration cost, scored from the buyer's seat, never from the vendor's pitch deck."@en .

:end a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "End"@en ;
    schema:description "A position you rent, consume, and swap without pain — low realised migration cost, even at high popularity."@en .

:coordinateSystem a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "The Coordinate System"@en ;
    schema:description "The article's central model: every capability sits at the intersection of a layer (vertical axis) and a junction-to-end position (horizontal axis); colour marks who is doing the locking."@en .

:contestedBand a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Contested Band"@en ;
    schema:description "The three middle layers — Orchestration, Memory and state, Evals and governance — where the war between data incumbents and the open commons is actively fought."@en .

:appearsTwice a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Appears Twice"@en ;
    schema:description "The pattern where the same vendor shows up at two coordinates with opposite scores, e.g. a hyperscaler as rented compute near the end pole and a control plane near the junction pole. The duplication is the point."@en .

:dependencyArrows a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Dependency Arrows"@en ;
    schema:description "What a cell depends on, traced to reveal who a buyer is actually captive to — e.g. Palantir keeps the model portable while the Ontology beneath it has no export and feeds the decision surface above."@en .

:compoundingLoopTest a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Compounding-Loop Test"@en ;
    schema:description "The final lock-in test: does value compound in place, so leaving costs more every day you stay? A price-competed model fails; a live decision graph passes."@en .

:agnosticEnterpriseAIHarness a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Agnostic Enterprise AI Harness"@en ;
    schema:description "An architectural and organizational layer that makes AI adoption controlled, governed, modular, and adaptable, allowing an enterprise to integrate external models and platforms without surrendering control over data, workflows, knowledge, economics, or strategic differentiation."@en .

:teardownVerdict a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Teardown Verdict (KEPT / PARTIAL / CAPTURED)"@en ;
    schema:description "The three-value verdict applied to each vendor cell in the five-test teardown: KEPT (portable, you leave with it), PARTIAL (some travels, some does not), CAPTURED (the switching cost is real and one-directional)."@en .

:realisedMigrationCost a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Realised Migration Cost"@en ;
    schema:description "The rule that makes the junction-end axis honest: score every cell by what it would actually cost the buyer to leave, never by the vendor's marketing claim of openness or portability."@en .

:codingAgentJunction a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "The Junction Is Never the Intelligence"@en ;
    schema:description "The coding-agent illustration of the whole thesis: Claude Code, Cursor, and GitHub Copilot all swap models freely, yet the accumulated repo context, custom rules, and developer muscle-memory make the workflow itself the sticky junction."@en .

:systemOfRecord a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "System of Record"@en ;
    schema:description "The underlying CRM records, workflows, or document graph a substitutable copilot is bolted onto; the copilot is the wedge, the system-of-record is the moat."@en .

# ============================================================
# HOWTO — THE FOUR-MOVE PLAYBOOK
# ============================================================

:howtoSection a schema:HowTo ;
    schema:name "Run the Playbook in Four Moves"@en ;
    schema:description "The buyer-side procedure for locating vendor lock-in and deciding what to own versus rent."@en ;
    schema:step :step1, :step2, :step3, :step4 .

:step1 a schema:HowToStep ; schema:isPartOf :howtoSection ;
    schema:position 1 ;
    schema:name "Locate your vendors"@en ;
    schema:text "Take every AI line item you pay for and pin it to one of the nine layers — your chatbox to Layer 2, your data platform to Layer 4, your agent framework to Layer 5, your GPUs to Layer 8, the chip inside them to Layer 9. Most enterprises discover they pay three vendors to occupy the same cell and no vendor to hold a cell that turns out to be load-bearing."@en .

:step2 a schema:HowToStep ; schema:isPartOf :howtoSection ;
    schema:position 2 ;
    schema:name "Read the horizontal position — own or rent"@en ;
    schema:text "Score every cell on its junction-end position: how much would it actually cost to leave? Low scores are commodities to rent and re-source at will; high scores are junctions, and the vendor selling you a cheap model is often the same vendor charging junction rents one floor down."@en .

:step3 a schema:HowToStep ; schema:isPartOf :howtoSection ;
    schema:position 3 ;
    schema:name "Trace the dependency arrows"@en ;
    schema:text "Follow what each position depends on. Palantir keeps the model portable as a deliberate decoy while the Ontology beneath it feeds the decision surface above; Google lets you run any harness, then meters the memory and switches on governance billing. The arrows expose your real vendor, not the one you signed the contract with."@en .

:step4 a schema:HowToStep ; schema:isPartOf :howtoSection ;
    schema:position 4 ;
    schema:name "Spot the contested band"@en ;
    schema:text "Identify where Orchestration, Memory and state, and Evals and governance sit in your stack — the three layers the data incumbents annex by climbing out of the layer they already own. Own three junctions on neutral ground here (the orchestration abstraction, the eval registry, memory in open formats); rent everything below the band; respect the silicon packaging chokepoint that no money escapes."@en .

# ============================================================
# AGENT COMMENTARY — A SIXTH, VENDOR-AGNOSTIC OPTION
# (Added by the KG curator; not part of Gennaro Cuofano's original post.
#  Illustrates the article's own "own it on neutral ground" prescription
#  with a concrete, dereferenceable open-standards example.)
# ============================================================

<https://www.linkedin.com/in/kidehen#this> a schema:Person ;
    schema:name "Kingsley Idehen"@en ;
    schema:url <https://www.linkedin.com/in/kidehen> ;
    schema:identifier "https://www.linkedin.com/in/kidehen" ;
    schema:description "KG curator; adds the vendor-agnostic RDF/SPARQL commentary section to this Knowledge Graph on behalf of whom the generating AI agent acted."@en .

:agentCommentarySection a schema:CreativeWork ;
    schema:name "A Sixth, Vendor-Agnostic Option: Open RDF Knowledge Graphs and Loose Coupling"@en ;
    schema:description "Agent-authored addendum (not in the original post) proposing a concrete instance of the article's own prescription to 'own the eval registry and memory in open formats on neutral ground': an open RDF/Turtle Knowledge Graph, loosely coupled via SPARQL to any standards-compliant RDF engine — exemplified by the agent-rdf-memory pattern and servable by, but not owned by, platforms such as Virtuoso."@en ;
    schema:author <https://www.linkedin.com/in/kidehen#this> ;
    schema:about <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory#this> ;
    schema:isPartOf :analysis ;
    schema:hasPart :looseCouplingPrinciple .

<https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory#this> a schema:CreativeWork ;
    schema:name "agent-rdf-memory"@en ;
    schema:codeRepository <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory> ;
    schema:url <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory> ;
    schema:programmingLanguage "RDF Turtle"@en ;
    schema:description "A git-versioned, plain-Turtle-file knowledge graph used as durable agent memory: preferences, howtos, session history, and an entity registry, cross-referenced by IRI and queryable via SPARQL. No proprietary runtime, catalog, or vendor API is required to read, write, migrate, or fork it — the files themselves are the portable artifact, positioning it at the End pole of Layer 4 (Memory and state) opposite Palantir's Ontology."@en ;
    schema:isPartOf :agentCommentarySection ;
    :hasControlVerdict "KEPT — the 'registry' is a directory of Turtle files under git; history, diffing, branching, and forking are native to the tool the files already live in."@en ;
    :hasCapabilityVerdict "KEPT — there is nothing to fine-tune or export; the graph itself, in full fidelity, is the artifact, copyable with `cp` or `git clone`."@en ;
    :hasChoiceVerdict "KEPT — SPARQL and RDF Turtle are W3C standards; any compliant engine (Virtuoso, or any other triplestore) can load, serve, and query the same files without rewriting them."@en ;
    :hasCostVerdict "KEPT — no metered API, no per-seat licence, and no proprietary storage format sets the price; the engine serving the files is swappable."@en ;
    :hasCompoundVerdict "KEPT — the accumulated history compounds in the files themselves (via git history and cross-referenced IRIs), not inside a vendor's control plane, so leaving costs nothing beyond choosing a new SPARQL endpoint to point at the same files."@en .

dbr:Virtuoso_Universal_Server a schema:SoftwareApplication ;
    schema:description "OpenLink Virtuoso is one example of a standards-compliant, multi-model DBMS platform that includes an RDF engine capable of plugging into this vendor-agnostic pattern: it can load, serve via SPARQL, and expose the same open Turtle files as a named graph, without becoming the junction itself — the portable artifact remains the RDF files, not the engine serving them. Any other W3C-compliant triplestore is an equally valid substitute, which is the point."@en ;
    schema:isRelatedTo <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/agent-rdf-memory#this> .

:looseCouplingPrinciple a schema:CreativeWork ;
    schema:name "Loose Coupling via Open Standards"@en ;
    schema:description "The engine (Virtuoso or any other RDF store) is deliberately interchangeable because the interface contract is the W3C RDF/SPARQL standard, not a vendor SDK or proprietary query language — swapping the serving engine changes nothing about how the data is modeled, queried, or owned."@en ;
    schema:isPartOf :agentCommentarySection .

:looseCoupling a schema:DefinedTerm, skos:Concept ; skos:inScheme :glossarySection ;
    schema:name "Loose Coupling (RDF/SPARQL)"@en ;
    schema:description "Interoperability achieved by depending only on open, standardized interfaces (RDF data model, SPARQL query protocol) rather than a specific vendor's runtime or API — any compliant engine can be swapped in without touching the data or the queries."@en .

:q15 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Is there a vendor-agnostic alternative to Palantir's Ontology junction at Layer 4?"@en ;
    schema:acceptedAnswer :a15 .
:a15 a schema:Answer ;
    schema:text "Yes — an open RDF Knowledge Graph memory pattern (exemplified by agent-rdf-memory) stores the same kind of typed, cross-referenced decision substrate as plain, git-versioned Turtle files, queryable via the W3C SPARQL standard. Because the interface is an open standard rather than a vendor API, the serving engine is swappable — a KEPT verdict on all five teardown tests, versus Palantir's CAPTURED Compound score."@en .

:q16 a schema:Question ; schema:isPartOf :faqSection ;
    schema:name "Where does a platform like Virtuoso fit into this vendor-agnostic option?"@en ;
    schema:acceptedAnswer :a16 .
:a16 a schema:Answer ;
    schema:text "OpenLink Virtuoso is one example of a standards-compliant, multi-model DBMS platform that includes an RDF engine capable of loading and serving the open Turtle files via SPARQL — but it is explicitly not the junction. The portable artifact is the RDF data itself; Virtuoso, or any other W3C-compliant triplestore, is a loosely-coupled, replaceable serving layer, not a lock-in point."@en .
