← All posts

Google doesn't read your text — it extracts triples

· 6 min read · By Mikhail Kuzmitskii

View as Markdown ↗

In one sentence, for the impatient: Google and the language models don’t store your paragraph, they store the triples pulled out of it — and a fact that won’t parse into subject → predicate → object never gets cited.

I ran the triple test on a paragraph I was proud of and it fell apart on the second sentence, because the subject had become “it” and the number lived two sentences away from what it described. A human wouldn’t blink; a machine building a graph of facts would shrug. So what is it looking for, and why is bluntness winning?

What a triple is

A provocation that’s closer to the truth than you’d like: Google doesn’t “read” your beautiful text. It parses it into triples — the minimal units of a fact, in three parts: subject → predicate → object.

One paragraph of prose becomes a set of structured statements:

Google doesn't read your text — it extracts triples
  • Airalo → is a → eSIM provider
  • Airalo → founded → 2019
  • Airalo → works in → 200+ countries

It’s triples, not paragraphs, that land in the knowledge graph and surface later inside an AI answer, so the GEO job is to make sure the right triples extract cleanly and unambiguously. Which one would the machine miss if the text said “it was founded in 2019”? Probably the second: “it” isn’t an entity.

Why machines think in triples, not paragraphs

Google’s Knowledge Graph is, in the words of the US v. Google antitrust record, a “first-party data repository of facts about the world that users can query” (¶584, Parakh). It’s assembled from web crawl (facts extracted from pages), first-party databases and UGC — and those are facts in the form of “entity–relation–value” triples.

Then the part that matters for GEO:

  • AI Overview grounds on the knowledge graph. “AI Overviews use a customized Gemini model in tandem with our Search systems — ranking and the Knowledge Graph” (¶833, Reid). So getting a fact into the KG is a shot at getting into the generated answer.
  • Entity disambiguation. Before answering anything, the engine has to know which entity is meant (Airalo the provider, not a random word), and that’s done through the graph.
  • Data is taken even from those who lock others out. Google imports facts from pages into the KG even when robots.txt blocks other crawlers (¶586) — so the structure of the facts works for a site either way.

Who decides what a page “says” — the author or the parser? The parser, and it doesn’t read for pleasure.

”Detached entity”: in the text, not in the graph

The worst case is when a brand is mentioned in the text but doesn’t exist as an entity in the graph: the model sees the word but doesn’t connect it to a node that has a type, properties and relations. Such a “detached entity” can’t be confidently cited, because the engine doesn’t know that Airalo is an Organization, an eSIM provider, with a sameAs to Wikidata.

The symptom: ask an AI “what do you know about <your brand>” and the answer is “no information found,” confusion with a namesake, or vague generalities. That’s not a text problem, it’s a graph problem: the entity isn’t anchored. Have I watched good writers polish copy when the fix was one sameAs line? I have — and I’ve probably been that writer.

How to write for triple extraction

Six moves that turn prose into extractable facts; the first usually catches most of the damage:

  1. Explicit S–P–O sentences, no pronouns. “Airalo works in 200+ countries,” not “it covers many” — subject, relation and value in one sentence.
  2. Schema.org = triples made explicit. JSON-LD is literally a declaration of triples: Product → brand → Airalo, Organization → foundingDate → 2019. Don’t make the machine guess — declare it!
  3. sameAs → Wikidata / Wikipedia. This is the entity anchor: it tells the graph “this is that Airalo, here’s its node,” and without it the entity is easy to confuse with a namesake.
  4. about / mentions with @id. Link the page to graph entities by machine identifier, not just by name.
  5. Fact consistency across the whole site. If one page says “founded 2019” and another “since 2018,” the graph gets conflicting triples and trusts both less: one fact, one value, everywhere.
  6. Facts with a source. A triple attributed to a named source weighs more: the grounding layer accepts a confirmed fact more readily.

“Entity → property → value” tables and FAQ blocks are the most triple-friendly formats, because they’re already structured as S–P–O — probably why they keep showing up in AI answers.

How to check it on your own site

We built this into the audit; I run brand-perception last, because asking an AI about an unanchored brand mostly confirms what the other three already said:

  • schema-eligibility — which Schema.org types a page warrants and which are missing (no Product/Organization → no explicit triples).
  • entity-references — whether the page declares about/mentions/sameAs with KG identifiers (is the entity anchored).
  • trust-audit (entity) — whether the site’s entity is established at the brand level (About, sameAs, organization).
  • brand-perception — an AI probe of “what do you know about <brand>”: does it know you, describe you accurately, avoid confusing you with a namesake — a direct test for the “detached entity.”

What to do

  1. Rewrite key facts as S–P–O — no pronouns, the subject in every sentence.
  2. Declare entities via Schema.org (Organization/Product + sameAs to Wikidata) — don’t leave the graph guessing.
  3. Reconcile facts across the site — one value per fact, or the graph gets conflicting triples.
  4. Check whether AI knows you — if it’s a “detached entity,” anchor the entity first, then chase citations.

You still need Google rankings. But both they and AI answers increasingly lean on the same layer — the graph of facts — and the graph thinks in triples. The paragraph I was proud of is now three blunt sentences and a sameAs line: it reads worse and extracts perfectly!

Sources

  • US v. Google, case materials (2025) — the Knowledge Graph as a “first-party repository of facts” (¶584, Parakh); AI Overview grounding on the KG (¶833, Reid); import of web data into the KG (¶586).
  • schema.org — Organization, Product, sameAs, about/mentions: declaring triples in JSON-LD.
  • Wikidata — the open entity graph; the sameAs anchor for disambiguation.
  • GEO-HowTo 2026 — grounding AI answers on the knowledge graph and the extractability of facts.

FAQ

What is a semantic triple, in plain terms?

It's the minimal unit of a fact, in three parts: subject → predicate → object. For example, 'Airalo → is a → eSIM provider' or 'Airalo → founded → 2019'. That's the form in which a knowledge graph and language models store facts about the world; a machine first parses your paragraph into triples like these.

Why does this matter for GEO and getting into AI answers?

AI Overview and language models ground on the knowledge graph and on facts extracted from text. If a fact can't be parsed unambiguously into a triple — because of pronouns, vague phrasing, or the entity not existing in the graph — the model either extracts it wrong or ignores it, and you don't get cited.

How do you write text for triple extraction?

State facts as explicit S–P–O sentences with no pronouns ('Airalo works in 200+ countries', not 'it covers many'), declare entities via Schema.org (about/mentions/sameAs with @id), point sameAs at Wikidata/Wikipedia, keep facts consistent across the whole site, and back them with sources.

Was this helpful?
Launch SEO/GEO with seo·matrix → or a request without Telegram →

Comments

  • …

Comments are moderated.