Skip to content

Capitolo 5: Ontologie, Web Semantico & Ragionamento Automatico

Il quinto modulo del corso esplora le metodologie di rappresentazione formale della conoscenza e le architetture delle ontologie, analizzando come il patrimonio conoscitivo umano possa essere codificato per diventare comprensibile ed elaborabile dalle macchine, fino a scalare sull’intera rete Internet attraverso lo stack del Web Semantico (W3C).


1. Rappresentazione della Conoscenza e Ragionamento Automatico

Section titled “1. Rappresentazione della Conoscenza e Ragionamento Automatico”

L’obiettivo fondamentale della Rappresentazione della Conoscenza (Knowledge Representation) consiste nel definire simbolismi e linguaggi formali capaci di codificare la conoscenza tipica di un essere umano affinché risulti intelligibile ed elaborabile dai calcolatori e dai sistemi informativi.

Una volta che la conoscenza è stata formalizzata all’interno di una Base di Conoscenza (Knowledge Base — KB) — ossia un insieme strutturato di asserzioni veritiere sul mondo reale o su uno specifico dominio operativo — i motori inferenziali possono operare su di essa attraverso processi di Ragionamento Automatico (induttivo o deduttivo) per derivare automaticamente nuova conoscenza non esplicitata a monte, partendo dalle premesse già note. Questo meccanismo opera indipendentemente dall’impiego di algoritmi statistici di Machine Learning, fondandosi sul rigore del calcolo logico.

Costrutti Sintattici

Insieme di regole formali che stabiliscono come costruire asserzioni grammaticalmente valide e ammissibili all’interno della Knowledge Base.

Operatori Semantici

Quantificatori (universali ∀\forall ed esistenziali ∃\exists) e operatori modali che permettono di attribuire un significato univoco e un valore di verità alle asserzioni.

Operabilità Bidirezionale

Un linguaggio di rappresentazione efficace deve consentire sia l’inserimento continuo di nuovi fatti nella base di conoscenza, sia l’interrogazione ed estrazione della conoscenza (anche dedotta).


2. Il Trade-Off tra Espressività ed Efficienza e le Questioni di Brachman (1985)

Section titled “2. Il Trade-Off tra Espressività ed Efficienza e le Questioni di Brachman (1985)”

La Tensione Intrinseca tra Ricchezza Espressiva ed Efficienza Computazionale

Section titled “La Tensione Intrinseca tra Ricchezza Espressiva ed Efficienza Computazionale”

Nella progettazione di qualsiasi sistema basato sulla conoscenza emerge un conflitto strutturale tra due esigenze contrapposte:

  1. Alta Espressività Sintattica
    Un linguaggio altamente espressivo permette di descrivere con estrema precisione e sfumatura il dominio di interesse, modellando concetti complessi, eccezioni e relazioni logiche articolate.
    Rischio: l’eccessiva ricchezza espressiva conduce rapidamente a problemi di complessità NP-dura o addirittura all’indecidibilità logica.

  2. Complessità Computazionale
    All’aumentare dell’espressività del linguaggio, i motori inferenziali richiedono tempo e risorse di calcolo esponenziali per valutare le regole e derivare conclusioni, provocando un rallentamento drastico delle query.
    Rischio: blocco del sistema (loop infiniti) o risposte fornite fuori tempo massimo.

  3. Il Punto di Equilibrio
    La soluzione ingegneristica consiste nello scegliere linguaggi con un’espressività bilanciata e vincolata (come le Description Logics alla base di OWL-DL), che garantiscano la computabilità in tempo finito senza rinunciare alla ricchezza semantica necessaria per il Web Semantico reale.

Le Tre Questioni Fondamentali della Rappresentazione (Brachman, 1985)

Section titled “Le Tre Questioni Fondamentali della Rappresentazione (Brachman, 1985)”

Nel 1985 Ronald J. Brachman ha sistematizzato le tre sfide teoriche centrali della rappresentazione della conoscenza:

Questione di BrachmanProblema TeoricoSoluzione / Formalismo Adottato
1. Incompletezza e Logica FuzzyLa logica classica booleana dichiara ogni asserzione assolutamente vera (11) o falsa (00), ma nel mondo reale la conoscenza è spesso parziale, vaga o incerta.Introduzione di gradi di confidenza associati alle asserzioni (es. “Socrate è umano con fiducia al 50%”) e sviluppo della Logica Fuzzy (logica sfumata) per gestire la vaghezza semantica nei sistemi decisionali.
2. Universali vs. Fatti SpecificiNecessità di distinguere tra leggi generali sugli insiemi e singole istanze concrete, gestendo anche le eccezioni.Distinzione tra Universali (quantificazione universale ∀\forall, es. “Tutti gli esseri umani sono mortali”, modellata tramite teoria degli insiemi e sottoinsiemi) e Fatti (quantificazione esistenziale ∃\exists, es. “Socrate è umano e quindi mortale”), affiancata dalla gestione dei valori predefiniti (Default) assegnati in assenza di controprove esplicite.
3. Efficienza nel RagionamentoInversione di proporzionalità: più un linguaggio è espressivo e potente, meno efficiente sarà il suo motore inferenziale.Bilanciamento tra adeguatezza espressiva ed efficienza algoritmica per garantire risposte computabili in tempi certi.

3. Formalismi Logici (FOL, Regole IF-THEN) e il Progetto Cyc

Section titled “3. Formalismi Logici (FOL, Regole IF-THEN) e il Progetto Cyc”

Logica del Primo Ordine (FOL) vs. Sistemi a Regole IF-THEN

Section titled “Logica del Primo Ordine (FOL) vs. Sistemi a Regole IF-THEN”

First Order Logic (FOL)

  • Potenza Espressiva Massima: costituisce il formalismo matematico di riferimento per accuratezza e compattezza espressiva.
  • Struttura: utilizza predicati, funzioni, costanti, variabili e quantificatori (∀\forall universale, ∃\exists esistenziale).
  • Limiti Pratici: presenta un’elevata difficoltà d’uso per i non specialisti e costituisce un notevole ostacolo nella praticità di implementazione e nell’elaborazione in tempo reale a causa dell’elevato costo computazionale.

Il Progetto Cyc: Codificazione della Conoscenza del Buon Senso (Common Sense)

Section titled “Il Progetto Cyc: Codificazione della Conoscenza del Buon Senso (Common Sense)”

Nelle interazioni quotidiane in linguaggio naturale, gli esseri umani danno per scontate migliaia di nozioni implicite di base (es. “se un oggetto cade in acqua si bagna”, “nessuno può trovarsi in due luoghi contemporaneamente”). L’assenza di questo bagaglio implicito rappresenta uno dei principali ostacoli per l’Intelligenza Artificiale conversazionale.

  • L’Obiettivo di Cyc: avviato storicamente per costruire un’imponente base di conoscenza enciclopedica capace di formalizzare le regole implicite del “buon senso” (common sense) umano, organizzando il sapere in Microteorie (sotto-ontologie specializzate per specifico ambito disciplinare o contesto concettuale).
  • Il Linguaggio CycL e OpenCyc: per codificare le asserzioni del progetto è stato sviluppato CycL, un linguaggio formale basato sulla Logica del Primo Ordine (FOL). Un ampio sottoinsieme dell’ontologia è stato rilasciato gratuitamente per uso libero e accademico sotto il nome di OpenCyc, dimostrando la fattibilità di basi di conoscenza su vasta scala e aprendo la strada ai classificatori automatici del Web Semantico (affiancati in epoca più recente da strumenti di estrazione automatica di grafi di conoscenza dal testo come FRED).

4. Ontologie Formali: Anatomia, Relazioni e Tassonomia

Section titled “4. Ontologie Formali: Anatomia, Relazioni e Tassonomia”

Definizione e Anatomia di un’Ontologia Formale

Section titled “Definizione e Anatomia di un’Ontologia Formale”

Nel lessico dell’Intelligenza Artificiale e dell’Informatica, un’Ontologia Formale è definita come una concettualizzazione condivisa ed esplicita — ossia una rappresentazione formale, concordata da una comunità — dei concetti e delle relazioni che caratterizzano un determinato dominio d’interesse, unendo schemi diversi in una struttura dati gerarchica, coerente e interrogabile.

Ogni struttura ontologica rigorosa si compone di quattro elementi costitutivi:

  1. Entità / Concetti: le classi astratte e le singole istanze concrete rilevanti nel dominio;
  2. Relazioni Semantiche: i collegamenti logici che legano tra loro i concetti;
  3. Regole ed Assiomi: le asserzioni dichiarate come sempre vere all’interno del dominio;
  4. Vincoli Specifici: le restrizioni sui valori e sul tipo di relazioni ammissibili.

Le Relazioni Semantiche Fondamentali: Sussunzione (is_a) e Meronimia (parte_di)

Section titled “Le Relazioni Semantiche Fondamentali: Sussunzione (is_a) e Meronimia (parte_di)”

Sussunzione ('is_a' / Sotto-tipo)

  • Classificazione Gerarchica: definisce la relazione di inclusione categoriale tra una sottoclasse e una sovraclasse (es. Il Cane è_un Mammifero).
  • Ereditarietà delle Proprietà: ogni istanza della sottoclasse eredita automaticamente tutti gli attributi e gli assiomi della classe padre.
  • Requisito Minimo: una gerarchia basata esclusivamente sulla relazione di sussunzione costituisce una tassonomia (o ontologia fondazionale di base).

Meronimia ('parte_di' / Part-Of)

  • Relazione di Composizione: descrive come determinati concetti costituiscano componenti fisiche o logiche di un’entità complessiva (es. Il Motore è_parte_di un'Automobile).
  • Interrelazione Complessa: arricchisce l’ontologia rispetto a una semplice tassonomia, consentendo ai motori inferenziali di ragionare sulla struttura interna dei sistemi (insieme ad altre relazioni causali, temporali, funzionali e spaziali).

Tassonomia delle Ontologie e Standard sul Web

Section titled “Tassonomia delle Ontologie e Standard sul Web”

In base al livello di astrazione e generalità, le ontologie si suddividono in tre categorie:

TipologiaLivello di AstrazioneCaratteristiche e Scopo
Ontologie FondazionaliBase / TerminologicoStrutture assimilabili a glossari gerarchizzati su due o più livelli; stabiliscono i termini fondamentali privi di ambiguità fornendo un vocabolario primario senza assiomi complessi.
Ontologie Top-LevelMassima Astrazione (Universale)Modellano i concetti più generali e astratti della realtà (Spazio, Tempo, Oggetto, Evento) in modo totalmente indipendente dal dominio, fornendo schemi di alto livello validi sull’intero Web.
Ontologie di DominioSettoriale e CircoscrittoModellano in dettaglio le categorie e le relazioni di una specifica porzione della realtà (es. medicina, finanza, diritto). Godono di indipendenza relativa (non richiedono necessariamente un’ontologia Top-Level associata).

Tra le principali ontologie standard di riferimento pubblicate sul Web figurano:

  • Cyc / OpenCyc: base di conoscenza generale strutturata in microteorie e tassonomia aperta per migliaia di concetti;
  • SUMO (Suggested Upper Merged Ontology): standard IEEE P1600.1 promosso dall’IEEE per definire un’ontologia superiore (Top-Level) formale e liberamente disponibile per la ricerca e l’industria;
  • FOAF (Friend of a Friend): ontologia scritta in RDF/OWL progettata per modellare le reti sociali, descrivendo le persone, le loro attività, le relazioni di conoscenza e le affiliazioni organizzative sul Web;
  • SchemaWeb.info: repository e catalogo centrale per l’indicizzazione e il recupero di ontologie pubblicate nei linguaggi RDF, OWL e DAML+OIL.

5. Il Web Semantico (W3C) e lo Stack Architetturale

Section titled “5. Il Web Semantico (W3C) e lo Stack Architetturale”

Il paradigma del Web Semantico, promosso dal consorzio W3C (World Wide Web Consortium), mira a trasformare l’attuale rete Internet:

  • Dal Web di Documenti al Web dei Dati: le pagine HTML tradizionali (pensate solo per essere lette dagli esseri umani) vengono arricchite da metadati semantici strutturati direttamente interpretabili dalle macchine. Come sottolineato a lezione, l’indicizzazione non avviene più soltanto in base alle stringhe di testo contenute nel corpo della pagina, ma in base ai metadati formalizzati al suo interno.
  • Superamento delle Parole Chiave: i motori di ricerca passano dal semplice confronto lessicale di keyword a query logiche strutturate capaci di comprendere il significato e il contesto delle risorse.
  • Reti di Relazioni Formali: ai semplici collegamenti ipertestuali (hyperlink) si sostituiscono connessioni basate su relazioni logiche tipizzate tra entità.

L’Architettura Stratificata dello Stack del Web Semantico (W3C)

Section titled “L’Architettura Stratificata dello Stack del Web Semantico (W3C)”

Il modello W3C integra standard complementari organizzati in una pila (stack) a sei livelli (dal livello fisico/sintattico inferiore fino al livello logico e fiduciario superiore):

  1. Syntax & Identifiers (XML, Namespaces, URI / IRI, UTF-8)
    Livello base che fornisce la codifica dei caratteri, la sintassi strutturata XML, i namespace per evitare conflitti di nomi e gli identificatori univoci universali (URI) delle risorse.

  2. Data Interchange (RDF / N3)
    Livello di scambio dei dati basato sul modello a tripletti (Soggetto, Predicato, Oggetto), serializzabile in sintassi compatte come Notation 3 (N3) e interrogabile tramite SPARQL.

  3. Taxonomy / Schema (RDFS — RDF Schema)
    Introduce la possibilità di definire gerarchie di classi e proprietà, modellando le relazioni fondamentali di sussunzione (is_a) e meronimia (parte_di).

  4. Ontology Layer (OWL — Web Ontology Language)
    Arricchisce RDFS con i costrutti delle Logiche Descrittive (OWL-Lite, OWL-DL, OWL-Full) per esprimere vincoli complessi, equivalenze e relazioni inverse.

  5. Proof & Rules (Motori Inferenziali e Regole IF-THEN)
    Livello dedicato ai Logic Engines e ai ragionatori automatici che eseguono deduzioni logiche e verificano la coerenza formale delle prove.

  6. Trust & Certificazione (Reificazione e Firma Digitale)
    Livello apicale che garantisce l’affidabilità, la paternità informativa e la responsabilità giuridica delle asserzioni pubblicate sul Web tramite reificazione e firma digitale.


6. Resource Description Framework (RDF) e Sintassi Notation 3 (N3)

Section titled “6. Resource Description Framework (RDF) e Sintassi Notation 3 (N3)”

Il Resource Description Framework (RDF) è lo standard W3C (basato su XML e sulla logica dei predicati del primo ordine) per descrivere risorse sul Web. In RDF ogni informazione atomica (asserzione) è formulata come una tripla composta da tre elementi:

⟨Soggetto,  Predicato,  Oggetto / Valore⟩\langle \text{Soggetto}, \; \text{Predicato}, \; \text{Oggetto / Valore} \rangle

  1. Soggetto: la risorsa che viene descritta (identificata univocamente tramite un URI);
  2. Predicato: la proprietà o il tipo di relazione che lega il soggetto all’oggetto (anch’essa identificata da un URI);
  3. Oggetto / Valore: la risorsa di destinazione (un URI) oppure un valore costante di testo/numero (valore letterale racchiuso tra virgolette).

Esempio Ufficiale: Le Asserzioni sul Presidente Ciampi

Section titled “Esempio Ufficiale: Le Asserzioni sul Presidente Ciampi”

Consideriamo le due frasi in linguaggio naturale analizzate nelle slide:

  • Asserzione 1: “Il Signor Ciampi vive a Roma.”
  • Asserzione 2: “Il Signor Ciampi ha codice fiscale CMPCLZ20T09E625V.”

Per trasformarle in triple RDF prive di ambiguità, ciascun concetto viene associato a un URI universale di riferimento sul Web:

ElementoRuolo nella TriplaValore TestualeURI di Riferimento Scelto (o Valore Letterale)
Il Signor CiampiSoggetto (Asserzioni 1 e 2)Il Signor Ciampihttp://www.quirinale.it/qrnw/statico/ex-presidenti/Ciampi/cia-biografia.htm (biografia ufficiale sul sito del Quirinale)
vive aPredicato (Asserzione 1)vive ahttps://it.wiktionary.org/wiki/vivere (definizione del verbo vivere su Wikizionario)
RomaOggetto / Valore (Asserzione 1)Romahttp://www.comune.roma.it (sito istituzionale del Comune di Roma)
ha codice fiscalePredicato (Asserzione 2)ha codice fiscalehttps://it.wikipedia.org/wiki/codice_fiscale (definizione di codice fiscale su Wikipedia)
CMPCLZ20T09E625VOggetto / Valore (Asserzione 2)Codice Fiscale"CMPCLZ20T09E625V" (valore letterale stringa)

Poiché la sintassi nativa RDF/XML risulta prolissa e complessa da leggere per l’uomo, è stata introdotta la Notation 3 (N3) (e il suo sottoinsieme N-Triples):

  • Ogni asserzione è scritta come una sequenza lineare di tre URI tra parentesi angolari <...> (oppure due URI seguiti da un valore letterale tra virgolette "...");
  • Ogni tripla deve terminare obbligatoriamente con un punto fermo ., che segnala la fine dell’asserzione e consente ai parser di elaborare i file sequenzialmente ad altissima velocità.
# Asserzione 1: Il Signor Ciampi vive a Roma
<http://www.quirinale.it/.../Ciampi/cia-biografia.htm>
<https://it.wiktionary.org/wiki/vivere>
<http://www.comune.roma.it/index.asp> .
# Asserzione 2: Il Signor Ciampi ha codice fiscale CMPCLZ20T09E625V
<http://www.quirinale.it/.../Ciampi/cia-biografia.htm>
<https://it.wikipedia.org/wiki/codice_fiscale>
"CMPCLZ20T09E625V" .

7. Web Ontology Language (OWL) e Interrogazione via SPARQL

Section titled “7. Web Ontology Language (OWL) e Interrogazione via SPARQL”

Evoluzione da RDFS a OWL e Costrutti Semantici Chiave

Section titled “Evoluzione da RDFS a OWL e Costrutti Semantici Chiave”

Il Web Ontology Language (OWL) è lo standard ufficiale W3C per la definizione di ontologie sul Web. Esso estende RDF/RDFS introducendo i formalismi delle Logiche Descrittive (Description Logics) per consentire ai ragionatori automatici (reasoners) di effettuare classificazioni e deduzioni avanzate. Tra i suoi costrutti semantici più importanti figurano:

  • Equivalenza tra Risorse (owl:sameAs): permette di dichiarare che due o più URI distinti presenti su siti diversi rappresentano in realtà la medesima entità del mondo reale;
  • Relazioni Inverse (owl:inverseOf): permette di definire simmetrie logiche automatiche (ad esempio, se vale la tripla (A, è_padre_di, B), il ragionatore deduce automaticamente (B, è_figlio_di, A));
  • Disgiunzione tra Classi e Restrizioni di Cardinalità: impongono vincoli rigorosi sui valori e sull’appartenenza mutua esclusiva alle classi.

Le Tre Varianti di OWL: Il Trade-Off Espressività / Computabilità

Section titled “Le Tre Varianti di OWL: Il Trade-Off Espressività / Computabilità”

Per rispondere a diverse esigenze applicative, il W3C ha definito tre sotto-linguaggi di OWL con espressività crescente:

Variante OWLLivello di EspressivitàComputabilità in Tempo FinitoImpiego Pratico
OWL-LiteBassa (Tassonomie semplici e gerarchie rigide)Sì (Garantita)Poco utilizzato nella pratica per via dei vincoli troppo restrittivi.
OWL-DL (Description Logics)Elevata (Ricchezza semantica completa per logiche descrittive)Sì (Terminazione delle query garantita in tempi finiti)Standard d’elezione per il ragionamento automatico su ontologie Web reali.
OWL-FullMassima (Copre l’intera logica predicativa FOL; massima unione tra sintassi e ontologia)NO (Indecidibile / Non computabile in tempo finito)Non idoneo all’uso con i ragionatori automatici.

Interrogazione delle Basi di Conoscenza: SPARQL e Ragionatori OWL

Section titled “Interrogazione delle Basi di Conoscenza: SPARQL e Ragionatori OWL”

SPARQL (Standard W3C per RDF)

SPARQL Protocol and RDF Query Language è il linguaggio standard ufficiale per interrogare grafi di tripletti RDF:

  • Sintassi a Pattern di Triple: individua sottografi all’interno della base dati cercando corrispondenze con pattern contenenti variabili incognite precedute dal punto interrogativo (es. ?soggetto ?predicato ?oggetto).
  • Clausole SQL-like: adotta costrutti familiari a chi conosce SQL quali SELECT, WHERE, FILTER e ORDER BY.

Stato dell'Arte sulle Query OWL

A differenza di RDF, per il linguaggio OWL non esiste ancora un unico standard universale di interrogazione:

  • I singoli motori inferenziali (HermiT, Pellet, FaCT++) espongono API e linguaggi di query proprietari;
  • Si stanno tuttavia affermando estensioni come SPARQL-DL, progettate specificamente per supportare l’interrogazione e il ragionamento su ontologie OWL-DL.

8. Certificazione della Conoscenza e Reificazione dell’Asserzione

Section titled “8. Certificazione della Conoscenza e Reificazione dell’Asserzione”

Il Problema della Veridicità e della Paternità Informativa sul Web

Section titled “Il Problema della Veridicità e della Paternità Informativa sul Web”

In un ambiente aperto e decentralizzato come il Web Semantico, chiunque può pubblicare qualsiasi tripla RDF (incluse informazioni false, diffamatorie o inesatte). Dal punto di vista sia informatico sia giuridico, diventa quindi indispensabile un meccanismo formale per certificare la fonte e l’autore di un’affermazione, garantendo la tracciabilità e l’imputabilità della responsabilità senza assumere che il contenuto della tripla sia una verità assoluta.

La Soluzione: La Quadrupletta di Reificazione

Section titled “La Soluzione: La Quadrupletta di Reificazione”

La Reificazione (Reification) risolve questo problema trasformando un’asserzione atomica in un’entità del primo ordine (un oggetto identificato da un proprio ID, es. Asserzione A1), la quale viene poi collegata al suo autore tramite il predicato asserisce.

Prendiamo l’esempio illustrato a lezione: anziché codificare come verità assoluta la frase “Il bicchiere contiene del vino”, il sistema la converte nella proposizione certificata “Marco ASSERISCE che il bicchiere contiene del vino”, scomponendola in 4 asserzioni distinte (Quadrupletta di Reificazione):

1. [Marco] --asserisce--> [Asserzione A1]
2. [Asserzione A1] --haSoggetto--> [Bicchiere]
3. [Asserzione A1] --haPredicato--> [Contiene]
4. [Asserzione A1] --haOggetto--> [Vino]