Entities and Knowledge Graph

Entity-place association: why Perplexity knows who to recommend in Sardinia (and you maybe don’t)

Your farm stay has been in Sardinia for generations, but when someone asks Perplexity for the best farm stays in Sardinia, you don't show up. It's not a question of quality or how beautiful your website is: the AI doesn't search for the word Sardinia in your pages, it builds a map of who is truly associated with that territory in structured data. If that link isn't built in the way the models understand, you are geographically invisible — and the competitors who did build it leapfrog you on every local query. Three precise interventions are enough to anchor you to the territory and get you back into the list.

Ask Perplexity “best farm stays in Sardinia” and look at who gets cited. Open another tab and try “where to sleep between Alghero and Bosa”. Then try “farm stay with Sardinian cuisine near Cagliari”. Look at the list of names that come up.

Are you in that list? Why not?

I’ll give you the intuition right away and then take it apart piece by piece. The AI doesn’t pull names at random and it doesn’t pull “whoever has the best website”. It pulls the entities it has most strongly associated with that place in its knowledge graph. If your farm stay exists on the web but isn’t strongly linked to the entity “Sardinia”, “Alghero” or “the Nuoro area”, to the AI you are geographically stateless. And a stateless brand doesn’t get recommended on local queries.

In this article I’ll explain how entity-place association works, what I saw while reverse engineering a Perplexity answer on Sardinian tourism queries, and the three interventions that will move your name into that list.

What happens when an AI reads “Sardinia”

When an AI model sees the name of a place, it doesn’t treat it like any old string of text. It treats it as a node inside a graph, connected to other nodes: other locations, infrastructure, businesses, people, events. That’s the reason why, when you ask “farm stay in Sardinia”, the AI already knows how to distinguish between properties actually on the island and properties that merely mentioned Sardinia on their blog.

In the world of research on geospatial graphs, Zhu and colleagues published one of the clearest works in 2025 on how these graphs are built at a global scale.

“Global challenges such as food supply chain disruptions, public health crises, and natural hazard responses require access to and integration of diverse datasets, many of which are geospatial.”

Zhu et al., 2025

Translated for a business owner: the real world is made of data anchored to places, and the only way to use it usefully is to integrate it into a structure that understands which entities are where. The operational consequence for you is that the AI, when it answers a local query, doesn’t run a text search for “the word Sardinia in the page”. It consults a mental map of entities associated with that territory. Either you’re in it, or you don’t exist for that query.

The same authors justify the need for their work like this:

“A new way of sharing and reusing geospatial data is therefore urgently needed.”

Zhu et al., 2025

Research is moving in the direction of geographic graphs that are increasingly rich and interconnected. Commercial AI systems (ChatGPT, Perplexity, Gemini) are heading in the same direction: treating places as structured entities, not as keywords. It’s an evolution, not a switch, but the trajectory is clear.

Why this sits upstream of all local SEO work

In previous articles I explained how models tokenize text, how they turn it into vectors and how they recognize person entities (the author). Geographic association is a parallel piece: it’s not a variant of author recognition, it’s a separate axis of the knowledge graph.

If you want to understand how the AI goes from text to a mathematical representation, I wrote the article on embedding in vector space. If you’re interested in how it recognizes authors, here I talked about author entity recognition. Today we’re talking about a different axis: brand → place.

The point is this: you can have perfect tokenization, flawless E-E-A-T content, recognized authors. But if the AI has never seen your name appear alongside “Sardinia” in authoritative contexts, on a local query you stay out. The graph works like this: associations are built through the repetition of co-occurrences in reliable sources.

Common mistake

A “Via Roma 12, Olbia” in the footer without schema markup is readable by you, not by the AI in structured form.

The reverse engineering I did on Perplexity

Let me tell you about the test. I chose three queries with Sardinian local intent:

  • “best farm stays in Sardinia”
  • “where to sleep near Alghero with local cuisine”
  • “farm stay Cagliari with pool”

For each one I took the first 8-10 sources cited by Perplexity and checked three things: presence of schema markup with `address` and `areaServed`, an active Google Business Profile listing, mentions with an explicit geographic anchor on regional tourism portals.

The pattern was clear-cut. Out of 24 total sources cited across the three queries, 19 had a Google Business Profile with a specific category (“Farm stay”) and a verified address. 17 appeared at least once on regional portals of the “Sardegna Turismo” type with their name explicitly placed next to the municipality. Only 8 had structured schema markup on their site, but all the ones cited in first position had it.

The signal here is twofold. On one hand the optimized Google Business listing is almost a prerequisite for showing up: it’s the cleanest way the AI has of tying a brand to precise geographic coordinates. On the other hand mentions with explicit geolocation (“Farm stay X in Monti, in Gallura, offers…”) count more than generic ones (“farm stay X offers Sardinian cuisine”).

Limit of the test: it’s indicative, not a controlled study. Three queries don’t make a significant sample and Perplexity changes the sources it cites even for the same query over time. But the pattern is clear-cut enough to be useful: if you run a farm stay and rural hospitality, these are the two pillars to work on.

Pro tip

Add (or have someone add) `LocalBusiness` schema to the homepage with `address`, `areaServed` (municipality + region), `geo` (coordinates)

The test you can run yourself in ten minutes

You need one free tool and five minutes for each of the checks below.

Open Google’s Rich Results Test and paste the URL of your homepage. Look in the response for the `Organization` or `LocalBusiness` items. If they aren’t there, the AI isn’t receiving your structured address. If they are there but the `address` and `areaServed` fields are missing, the geographic anchor is weak.

Open Google Business Profile and check three binary thresholds: the main category is the precise one (“Farm stay”, not “Hotel”) yes/no, the address is verified yes/no, there are at least 20 reviews from the last 12 months yes/no. If you have three yeses you’re in a safe zone, if you have two nos you’re below threshold.

Open Wikidata and search for the name of your property. Is there an entry? If so, does it have the `P276` (location) property filled in with the correct municipality? Presence on Wikidata is one of the strongest links between a brand entity and a place entity in AI systems.

Then take the name of your farm stay, ask Perplexity “tell me about [name]” and look at what it answers. If the answer associates your name with the correct municipality, with Gallura, with Sardinia, you’re visible. If it says “I don’t have specific information” or confuses you with another property, the entity isn’t well formed in the graph.

It’s an entry-level check. The real analysis requires professional tools and a complete semantic audit, but these four steps tell you right away whether you’re in the game or out.

The mistakes I see most often

Address only in the footer as free text. A “Via Roma 12, Olbia” in the footer without schema markup is readable by you, not by the AI in structured form. You need JSON-LD with the right fields.

Google Business listing with a generic category. “Hotel” instead of “Farm stay”, “Restaurant” instead of “Farm stay with dining”. The precise category is one of the strongest signals of brand-sector-place association.

A homepage that says “in one of the most beautiful areas of Italy”. Poetic, useless for the AI. The name of the municipality, of the historical region (Gallura, the Nuoro area, Sulcis), of the province must appear explicitly at least 2-3 times on the institutional pages.

Presence only on generalist national portals. Being on Booking and Tripadvisor is a prerequisite but it’s not enough. Mentions on regional portals specific to Sardinian tourism, local guides, consortium sites, count more in building the geographic anchor because they are sources with territorial authority.

What to do concretely this week

The actions in order of impact on the brand-place association:

  • Add (or have someone add) `LocalBusiness` schema to the homepage with `address`, `areaServed` (municipality + region), `geo` (coordinates)
  • Fix the category and missing fields on Google Business Profile: precise category, hours, geolocated photos, description with the municipality name
  • Create a “Where we are” page with address, coordinates, directions from the nearest main town, an explicit mention of the historical region and the province
  • Secure 3-5 mentions on Sardinian regional tourism portals with the formula “[property name] in [municipality], in [historical region]”
  • Verify that the Wikidata profile exists and has the location property filled in; if it doesn’t exist, create it following the community guidelines

Then compare yourself with 3-5 direct competitors that Perplexity cites in your queries: where are they and you aren’t? That gap is your roadmap.

The thread that holds visibility in AI answers together

Entity-place association isn’t a magic factor that by itself gets you into AI answers. It’s a piece of a bigger puzzle that includes how the AI recognizes you as an entity, how it recognizes your sector, how it weighs your authority. But it’s the piece that specifically decides queries with local intent, and if you run rural hospitality in Sardinia almost all your commercial queries are local.

In this series I’m building a path: in the next articles I’ll talk about how entities are disambiguated when two brands with similar names exist, how a brand entity is built from scratch, how the AI handles the hierarchical relationships between places (municipality → province → region → nation).

If you want to show up in AI answers when someone searches for farm stays in your area, the geographic anchor in the graph is the foundation. Without it, everything else floats.

Chapter 4 · Entities and Knowledge Graph

Continue with the deep dives

40 deep dives across the 5 sections of the chapter.

4.1 Entity Monitoring & Maintenance 8 deep dives
4.2 Entity Recognition 8 deep dives
4.3 Entity Relationships 8 deep dives
4.4 Knowledge Graph Optimization 8 deep dives
4.5 Vertical & Local Entities 8 deep dives
The author
Roberto Serra at the Senate of the Republic Senate of the Republic · Palazzo Giustiniani Conference “The power of artificial intelligence”
Roberto Serra Roberto Serra

SEO consultant for over 15 years, founder of the Serra SEO Agency (RAANK). He helps multinationals and SMEs stay visible where search is moving: ChatGPT, Perplexity, Gemini and Google's AI Overviews.

As featured in
ANSA Il Sole 24 Ore Le Iene Università di Cagliari La Repubblica
How visible is your brand to AI? Analyze your brand