Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Semantic Web Appunti seconda parte, Appunti di Programmazione e Tecnologie Web

Seconda parte degli appunti di Semantic Web

Tipologia: Appunti

2024/2025

Caricato il 01/07/2026

m_e_l_a_n_i_a
m_e_l_a_n_i_a 🇮🇹

9 documenti

1 / 7

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
OWL
OWL (Ontology Web Language) è stato sviluppato dal World Wide Web Consortium (W3C) per realizzare la
visione del Web Semantico in modo più sostanziale rispetto a quanto possibile con RDF e RDF Schema (RDFS).
Mentre RDFS fornisce meccanismi basilari per la definizione di vocabolari (classi, proprietà, gerarchie), l'obiettivo
di OWL è di sfruttare la potenza espressiva e gli algoritmi sofisticati delle Logiche Descrittive (Description Logics -
DL) per gestire ontologie e rappresentazioni del mondo complesse sul Web.
Nella teoria delle Logiche Descrittive (Description Logics - DL), la "Knowledge Base" (Base di Conoscenza) è
tradizionalmente suddivisa in due componenti distinte:
TBox (Terminological Box): Contiene la terminologia o ontologia in senso stretto. Definisce lo schema
concettuale del dominio: le classi, le proprietà (ruoli), e le relazioni tra di esse (assiomi come SubClassOf,
EquivalentClasses, ObjectPropertyDomain).
ABox (Assertional Box): Contiene gli asserzioni o fatti specifici sul mondo. Popola lo schema con individui
(istanze) e ne descrive le proprietà (assiomi come ClassAssertion, ObjectPropertyAssertion).
OWL abbandona questa distinzione a livello terminologico, principalmente per ragioni storiche e di adozione nel
contesto del Web. In OWL: Il termine "ontologia" è usato per indicare l'intera knowledge base DL. Quindi,
un'ontologia OWL include sia la TBox (le definizioni) che l'ABox (gli asserzioni). Di conseguenza, i termini "OWL
ontology" e "knowledge base" in DL diventano sinonimi.
Standard attuale: OWL 2
Limiti RDF/RDFS - RDF Schema fornisce meccanismi base per organizzare vocabolari sul Web, ma con forti
limiti espressivi:
Definire gerarchie di classi, gerarchie di proprietà, specificare dominio e codominio di proprietà, associare individui
a classi → Sì, RDFS lo permette (rdfs:subClassOf, rdfs:domain, rdfs:range, rdf:type). Ma:
·Cardinalità → In RDFS non puoi dire "esattamente 1", "almeno 2", ecc.
·Propietà speciali: transitive, simmetriche, funzionali, inverse funzionali.
Proprietà transitive → Non esiste rdfs:transitiveProperty (esiste in OWL con owl:TransitiveProperty).
·Classi definite logicamente → intersezioni, unioni, complementi, restrizioni basate su proprietà.
·Identità tra indivisui: uguaglianza/differenza esplicita
·Chiavi identificative: proprietà che identificano univocamente un individuo
OWL (Web Ontology Language) nasce dal W3C per realizzare appieno la visione del Semantic Web, integrando:
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Semantic Web Appunti seconda parte e più Appunti in PDF di Programmazione e Tecnologie Web solo su Docsity!

OWL

OWL (Ontology Web Language) è stato sviluppato dal World Wide Web Consortium (W3C) per realizzare la visione del Web Semantico in modo più sostanziale rispetto a quanto possibile con RDF e RDF Schema (RDFS). Mentre RDFS fornisce meccanismi basilari per la definizione di vocabolari (classi, proprietà, gerarchie), l'obiettivo di OWL è di sfruttare la potenza espressiva e gli algoritmi sofisticati delle Logiche Descrittive (Description Logics - DL) per gestire ontologie e rappresentazioni del mondo complesse sul Web. Nella teoria delle Logiche Descrittive (Description Logics - DL), la "Knowledge Base" (Base di Conoscenza) è tradizionalmente suddivisa in due componenti distinte: TBox (Terminological Box): Contiene la terminologia o ontologia in senso stretto. Definisce lo schema concettuale del dominio: le classi, le proprietà (ruoli), e le relazioni tra di esse (assiomi come SubClassOf, EquivalentClasses, ObjectPropertyDomain). ABox (Assertional Box): Contiene gli asserzioni o fatti specifici sul mondo. Popola lo schema con individui (istanze) e ne descrive le proprietà (assiomi come ClassAssertion, ObjectPropertyAssertion). OWL abbandona questa distinzione a livello terminologico, principalmente per ragioni storiche e di adozione nel contesto del Web. In OWL: Il termine "ontologia" è usato per indicare l'intera knowledge base DL. Quindi, un'ontologia OWL include sia la TBox (le definizioni) che l'ABox (gli asserzioni). Di conseguenza, i termini "OWL ontology" e "knowledge base" in DL diventano sinonimi. Standard attuale: OWL 2 Limiti RDF/RDFS - RDF Schema fornisce meccanismi base per organizzare vocabolari sul Web, ma con forti limiti espressivi: Definire gerarchie di classi, gerarchie di proprietà, specificare dominio e codominio di proprietà, associare individui a classi → Sì, RDFS lo permette (rdfs:subClassOf, rdfs:domain, rdfs:range, rdf:type). Ma: · Cardinalità → In RDFS non puoi dire "esattamente 1", "almeno 2", ecc. · Propietà speciali: transitive, simmetriche, funzionali, inverse funzionali. Proprietà transitive → Non esiste rdfs:transitiveProperty (esiste in OWL con owl:TransitiveProperty). · Classi definite logicamente → intersezioni, unioni, complementi, restrizioni basate su proprietà. · Identità tra indivisui: uguaglianza/differenza esplicita · Chiavi identificative: proprietà che identificano univocamente un individuo OWL (Web Ontology Language) nasce dal W3C per realizzare appieno la visione del Semantic Web, integrando:

Aumento dell'Espressività - OWL si basa sulla Description Logic SROIQ, che estende i costrutti base con:

  1. Cardinalità qualificate: ObjectExactCardinality, DataMinCardinality, etc.
  2. Proprietà complesse: transitive, simmetriche, funzionali, inverse funzionali
  3. Costruttori di classe: intersezione, unione, complemento, enumerazione
  4. Restrizioni su proprietà: quantificatori esistenziali/universali (someValuesFrom, allValuesFrom)
  5. Catene di proprietà: ObjectPropertyChain per derivare relazioni indirette
  6. Definizioni di datatype: restrizioni su valori letterali con pattern XML Schema Ragionamento automatico avanzato - OWL fornisce una semantica formale (model theoretic) che permette:
  7. Classificazione automatica: dedurre nuove relazioni di sottoclasse
  8. Consistenza checking: rilevare contraddizioni nell'ontologia
  9. Realizzazione: classificare automaticamente gli individui nelle classi appropriate
  10. Query answering complesso: rispondere a query che richiedono inferenze OWL eredita da RDF le fondamenta tecniche per integrarsi nel Web :
  11. Uso degli IRI per identificare univocamente tutte le entità (classi, proprietà, individui).
  12. Uso dei datatype XML Schema (e RDF) per valori letterali (es. xsd:integer, xsd:string). Questo risponde a uno dei requisiti per rendere le Description Logics adatte ad applicazioni realistiche.
  13. Serializzazioni RDF-based come formati concreti di interscambio, in particolare RDF/XML e Turtle (quest'ultima è la notazione utilizzata nel corso). Tuttavia, OWL non usa la semantica RDF/RDFS come base logica. Questo è il punto di svolta cruciale. La semantica RDF è troppo liberale e, combinata con l'espressione potente, porterebbe a un linguaggio indecidibile. OWL è invece basato sulle Description Logics (DL), una famiglia di logiche formali che sono sottoinsiemi decidibili della First-Order Logic (FOL). Questo fondamento nelle DL non è casuale, ma è la scelta progettuale fondamentale di OWL DL: RDF/FOL generica → Indecidibile. Non è possibile costruire un algoritmo che per qualsiasi domada dia sempre una risposta corretta in tempo finito. OWL/DL → Decidibile. È possibile costruire reasoner automatici affidabili (come Pellet, HermiT, Fact++) che, per qualsiasi ontologia OWL DL, possono rispondere in modo completo e corretto a problemi come la consistenza, la classificazione e il soddisfacimento. La decidibilità è ciò che rende OWL uno strumento pratico per l'inferenza automatica sul Web Semantico, colmando il gap tra i dati web e la logica formale applicabile.

· OWL Full massimizza l'espressività e la compatibilità con l'ecosistema RDF esistente, ma sacrifica la decidibilità. · OWL DL (e i suoi profili) impone restrizioni sintattiche per garantire la decidibilità, rendendo possibile 'inferenza automatica, che è uno degli obiettivi primari di OWL per colmare il gap tra dati web e logica formale. La scelta tra OWL DL e OWL Full incarna il compromesso base: decidibilità (e ragionamento automatico) vs. massima compatibilità con RDF. Avendo scelto la decidibilità con OWL DL, ci si scontra con una seconda realtà computazionale. Anche se OWL DL è decidibile, la sua complessità computazionale è intrattabile (EXPTIME-hard) nel caso generale. Ciò significa che, sebbene i reasoner diano sempre una risposta, per ontologie complesse il tempo di calcolo può crescere in modo esponenziale, diventando impraticabile per applicazioni su larga scala o in tempo reale. Per affrontare questo problema di complessità pratica, OWL 2 definisce dei profili. Non sono nuove varianti semantiche come DL/Full e non sono linguaggi indipendenti, ma profili, cioè restrizioni sintattiche di OWL DL. L'obiettivo è chiaro: migliorare drasticamente le prestazioni del reasoning, rendendolo efficiente per casi d'uso specifici, sacrificando parte del potere espressivo non necessario in quei contesti. Ogni ontologia conforme a uno di questi profili è automaticamente un’ontologia OWL 2 DL, mentre OWL 2 DL consente costrutti che i profili vietano per garantire una maggiore trattabilità del reasoning. I tre profili principali sono: OWL 2 EL : Progettato per ontologie con grandi tassonomie e classificazioni (come SNOMED CT). La sua complessità è in PTime (polinomiale). OWL 2 QL : Ottimizzato per l'interrogazione (querying) su grandi volumi di dati, integrabile con database relazionali tramite riscrittura di query in SQL. La sua complessità è in NLogSpace. OWL 2 RL : Pensato per l'implementazione efficiente con tecnologie basate su regole (rule-based), adatto per applicazioni che richiedono ragionamento scalabile su RDF. La sua complessità è in PTime. Si stabilisce quindi una gerarchia di restrizioni progressive, ciascuna con uno scopo preciso: OWL Full → Nessuna restrizione sintattica (piena compatibilità RDF) → Indecidibile. OWL DL → Restrizioni forti per garantire la decidibilità (segregazione vocabolario, no auto-applicazione) → Decidibile ma intrattabile (EXPTIME-hard). Profili OWL 2 (EL/QL/RL) → Restrizioni sintattiche aggiuntive e mirate su OWL DL → Decidibile ed efficiente (PTime, NLogSpace) per domini applicativi specifici.

La discussione sulle varianti e i profili di OWL non è fine a sé stessa. Serve a rendere possibile e pratica la risoluzione dei problemi fondamentali di ragionamento (reasoning) che si vogliono applicare alle ontologie. L'intera architettura di OWL ha come obiettivo finale quello di permettere di risolvere in modo automatico e affidabile i seguenti problemi logici, che sono i problemi classici di reasoning delle Description Logics , ossia problemi decisionali definiti in termini semantici, validi in tutti i modelli possibili dell’ontologia. I principali sono:

  1. Inconsistenza ontologica : Un’ontologia è un insieme di assiomi che descrive un mondo possibile. Un modello è un’interpretazione che rende veri tutti questi assiomi contemporaneamente. L’ontologia è consistente (soddisfacibile) se esiste almeno un modello che la soddisfa; è inconsistente (insoddisfacibile) se non esiste alcun modello, cioè se gli assiomi sono logicamente contraddittori. La verifica della consistenza è fondamentale: se un reasoner individua un’inconsistenza, deve segnalarla immediatamente, poiché tutte le deduzioni successive sarebbero prive di significato logico.
  2. Soddisfacibilità di una classe : Il problema consiste nel determinare se esiste almeno un individuo possibile che possa appartenere a una certa classe (o espressione di classe), ossia se la classe non è logicamente vuota in tutti i modelli dell’ontologia.
  3. Sussunzione : È il problema di verificare la gerarchia delle classi. Date due classi (o espressioni di classe) C e D, un reasoner deve stabilire se vale C ⊑D, cioè se in ogni modello possibile l’insieme di individui denotato da C è un sottoinsieme di quello denotato da D. Questo problema è fondamentale perché consente di costruire e verificare automaticamente la tassonomia (l’albero delle classi) di un’ontologia complessa.
  4. Instance Checking : Consiste nel determinare se un individuo è istanza di una certa classe in tutti i modelli dell’ontologia. La classificazione completa di un individuo (cioè l’individuazione delle classi più specifiche a cui appartiene) deriva dall’esecuzione sistematica di questo tipo di verifiche. Su questi problemi fondamentali si basano servizi di reasoning più complessi, forniti dai reasoner come funzionalità operative:
  5. (Conjunctive) Query Answering : Consiste nel rispondere a query di primo ordine ristrette che utilizzano la congiunzione logica, interrogando sia lo schema concettuale (TBox) sia i dati (ABox). Questo permette di formulare domande complesse che coinvolgono più variabili e relazioni, come ad esempio: “Trova tutti gli x e y tali che x è un Genitore, y è figlio di x e x vive a Roma”. Per rispondere a tali query, il reasoner sfrutta in modo coordinato i risultati di sussunzione e instance checking, tenendo conto dell’intera ontologia.
  6. Semantic Reasoning (Inferenza): Indica la capacità generale di un sistema di dedurre nuovi fatti a partire da quelli esplicitamente dichiarati, utilizzando regole di inferenza e la semantica dell’ontologia. Un semantic reasoner è il software che implementa questa capacità inferenziale.

Pensato per scenari con grandi quantità di dati (istanze) e la necessità di eseguire query efficienti, tipicamente integrati con database.L'ontologia (TBox) funge da schema concettuale, mentre i dati (ABox) risiedono in database relazionali. Il reasoning è ridotto e consiste principalmente nella riscrittura (rewriting) delle query: Una query utente in linguaggio dell'ontologia viene riscritta in una o più query SQL, sfruttando le relazioni dello schema. Le query SQL vengono eseguite direttamente sul database relazionale. E i risultati vengono riportati nel contesto dell'ontologia. Sfrutta la potenza e l'efficienza consolidata dei RDBMS per interrogare grandi volumi di dati, mantenendo un livello di espressività sufficiente a rappresentare schemi concettuali come diagrammi ER o UML. · OWL 2 RL Profile Pensato per sistemi basati su regole (rule-based) e per implementazioni dirette su motori RDF (triplestore). È un buon compromesso tra espressività e efficienza. Viene definito in modo da poter essere implementato utilizzando motori di regole di inferenza che operano direttamente sul livello RDF, applicando un insieme predefinito di regole di implicazione. I problemi di reasoning rientrano nella classe di complessità PTime. Questo profilo è particolarmente adatto per applicazioni che richiedono un ragionamento incrementale e scalabile su grafi RDF dinamici, dove le prestazioni sono cruciali ma serve più espressività di quella offerta da un semplice RDFS. Recap: La famiglia dei linguaggi OWL comprende una varietà di linguaggi sviluppati per rispondere a esigenze diverse di modellazione semantica. Questa varietà nasce da due direzioni principali: da un lato i linguaggi basati sulle Description Logics, che garantiscono una semantica formale e la decidibilità del reasoning, dall’altro la piena compatibilità con RDF, che privilegia la flessibilità del Web. OWL Full rappresenta il punto di incontro di queste due direzioni, in quanto combina la massima espressività con la completa libertà sintattica di RDF, rinunciando però alla decidibilità. La coesistenza di più linguaggi OWL è quindi motivata dalla necessità di offrire diversi compromessi nel trade-off tra espressività e trattabilità del reasoning. Direzione Obiettivo Esempi Semantic modelling Rigore logico, reasoning affidabile

OWL DL (OWL 2 DL, OWL 2 EL, OWL

RL)

RDF / Web compatibility Massima flessibilità OWL Full