📖

Cos'è Knowledge Graph?

Un knowledge graph rappresenta entità del mondo reale e le relazioni tra esse come una rete di nodi e archi, permettendo alle macchine di interrogare, collegare e ragionare su fatti connessi.

Un knowledge graph è un modo di organizzare le informazioni come una rete di entità (le cose del mondo, come persone, luoghi, prodotti o concetti) e le relazioni che le collegano. Invece di memorizzare i fatti in tabelle o documenti isolati, un knowledge graph li collega tra loro così che un'affermazione come "Parigi è la capitale della Francia" sia rappresentata come una tripla strutturata: un soggetto (Parigi), un predicato (è la capitale di) e un oggetto (Francia). Questa struttura consente al software di attraversare le connessioni, seguire catene di significato e far emergere risposte che vanno oltre la semplice corrispondenza di parole chiave.

Come funziona un knowledge graph

Al suo nucleo, un knowledge graph è costruito da triple espresse in uno schema formale, comunemente il Resource Description Framework (RDF) o il modello a grafo di proprietà utilizzato da database come Neo4j. Ogni tripla asserisce un fatto: (Marie Curie) — scoprì — (Radio). I nodi trasportano proprietà e tipi (ad esempio, una "Persona"), mentre gli archi trasportano la natura della relazione. Uno schema o ontologia definisce quali tipi di entità e relazioni sono ammessi, il che consente al grafo di imporre coerenza e supportare ragionamenti di base.

La costruzione è tipicamente una pipeline di estrazione e integrazione. Documenti sorgente, database o pagine web vengono analizzati, le entità nominate vengono riconosciute, le relazioni candidate vengono estratte (spesso con modelli di machine learning) e i risultati vengono risolti rispetto a un grafo esistente per unire i duplicati. Linguaggi di interrogazione come SPARQL o Cypher permettono quindi alle applicazioni di porre domande a forma di grafo, come "quali scienziati hanno lavorato presso istituzioni finanziate da X e pubblicato su Y?" — qualcosa che richiederebbe costose join in un database relazionale.

Perché è importante

I knowledge graph forniscono ai sistemi di IA un substrato condiviso ed esplicito di fatti su cui attingere. I motori di ricerca li usano per alimentare i pannelli di risposta diretta; i sistemi di raccomandazione li usano per trovare elementi correlati tramite attributi condivisi; e i grandi modelli linguistici li usano come fonte di informazioni fondate e aggiornate attraverso tecniche come la generazione aumentata da recupero. Rendendo le relazioni di prima classe, un knowledge graph rende anche tracciabili provenienza e contesto, il che è fondamentale in ambiti come sanità, finanza e gestione della conoscenza aziendale, dove allucinazioni e dati obsoleti sono rischi reali.

Tipi principali

  • Knowledge graph aperti / pubblici — grafi ampi e generici come Wikidata, DBpedia e il Knowledge Graph di Google, costruiti da fonti pubbliche e usati per arricchire ricerca e assistenti.
  • Knowledge graph aziendali — grafi privati che unificano i dati interni di un'azienda (clienti, prodotti, contratti, asset) per analisi, conformità e applicazioni di IA.
  • Knowledge graph di dominio — grafi focalizzati su un campo specifico, come quello biomedico (ad es. UMLS, Gene Ontology) o la scienza dei materiali, dove il controllo del vocabolario e la curatela contano più dell'ampiezza.
  • Knowledge graph multimodali — estensioni che collegano nodi testuali a immagini, video o audio, consentendo recupero e ragionamento cross-modali.

Con tutte le sue varianti, la caratteristica distintiva di un knowledge graph è che le relazioni sono interrogabili tanto quanto le cose che collegano — trasformando fatti sparsi in una mappa navigabile e leggibile dalla macchina di un dominio.

Domande frequenti

What is the difference between a knowledge graph and a database?
A traditional relational database stores data in tables with predefined schemas and relies on joins to connect records. A knowledge graph stores data as a network of entities and relationships, where the connections themselves are first-class and can be traversed directly. This makes knowledge graphs more flexible for highly connected, evolving, or semantically rich data.
How is a knowledge graph different from a large language model?
A large language model (LLM) is a neural network that learns statistical patterns from text and generates fluent responses, but it does not store facts in a structured, queryable form. A knowledge graph is an explicit, curated store of facts and relationships. They are often combined — the graph supplies verified, up-to-date facts while the LLM handles natural-language understanding and generation.
What is retrieval-augmented generation (RAG) and how does it use a knowledge graph?
Retrieval-augmented generation is a pattern in which a model first retrieves relevant information from an external source and then generates an answer conditioned on that information. A knowledge graph can serve as the retrieval source, allowing the system to pull specific entities and relationships rather than raw text passages, which improves precision and makes the grounding of each claim inspectable.
Do small teams need a knowledge graph, or is it only for large companies?
Public knowledge graphs such as Wikidata and DBpedia are freely available, and lightweight graph databases make it practical for small teams to build focused graphs for specific projects. The investment only pays off when the data is genuinely relational and the team needs to query connections directly; for simple structured data, a spreadsheet or relational database is usually sufficient.