




































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Appunti del corso di Semantic Web in italiano
Tipologia: Appunti
1 / 76
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





































































Il Web è stato inventato nel 1989 da Tim Berners-Lee al CERN in Svizzera. L'obiettivo iniziale era la condivisione di documenti e conoscenza tra i membri della comunità di ricerca. Il funzionamento si basa su tre pilastri: · Web Page: Un ipertesto digitale in HTML, identificato da un nome unico (IRI). · Web Server: Componenti software che gestiscono e memorizzano le pagine. · Web Browser: Client che permettono agli utenti di recuperare, visitare e navigare le pagine tramite link Il protocollo di comunicazione è l' HTTP (Hyper Text Transfer Protocol) Per capire il Web a fondo, bisogna analizzare la sua visione del mondo, che si basa su tre concetti astratti fondamentali interagenti tra loro: A. Risorsa (Resource) Nel Web, il mondo è costituito da risorse. Una risorsa è qualsiasi cosa che possa essere identificata tramite identificatore univoco (persone, oggetti, concetti astratti) · Information Resources: Risorse le cui caratteristiche essenziali possono essere trasmesse interamente in un messaggio (es. una pagina web, un file audio, un PDF). · Non-information Resources: Risorse che non possono essere "trasmesse" digitalmente (es. una persona, la città di Pisa), ma possono essere descritte. B. Identificatore (IRI) Ogni risorsa deve avere un identificatore univoco chiamato IRI (Internationalized Resource Identifier), che è un'evoluzione dell'URI capace di gestire set di caratteri non latini. L'IRI identifica un solo referente e, idealmente, non dovrebbe mai cambiare referente una volta creato. Struttura di un IRI: La sintassi formale è: scheme : hierarchical part [? query ] [ # fragment ].
Perché le macchine comunichino, devono concordare sul significato dei termini (es. cosa significa esattamente "offers" o "course"?). Un' ontologia è una specifica formale ed esplicita di una concettualizzazione. È un vocabolario condiviso che definisce: · Classi: I concetti (es. Book , Person , Organization ). · Relazioni: Come interagiscono (es. borrowedBy ). Esempio della Biblioteca: un'ontologia dove: · Book è una sottoclasse di Library Material. · Book è collegato a Individual tramite la relazione borrowedBy. · Un Event ha un luogo (Place) e un tempo (Time). Senza questa struttura, un computer non saprebbe che un "Libro" è qualcosa che può essere "preso in prestito" da una "Persona". C. Logica La logica matematica è il motore del Semantic Web. Permette agli agenti di:
Le tre regole "estremamente semplici" sono:
o Due persone diverse non avranno mai lo stesso IRI. Poiché ogni risorsa è identificata da un IRI, i dati sono distribuiti e navigabili. La descrizione di "Roma" può risiedere su Wikidata, mentre quella di "Mario" su un server aziendale, ma sono collegate nello stesso grafo. Le regole dei Linked Data Tim Berners-Lee ha stabilito 4 regole per scegliere bene questi IRI e creare un Web di dati connessi ( Linked Data ) :
RDF è lo standard W3C per la modellazione dei dati sul Web. È progettato per essere elaborato dalle macchine (machine-processable) e per permettere lo scambio di dati senza perdita di significato. Le Relazioni (La Tripla) - L'unità atomica di informazione in RDF è la Tripla , che corrisponde alla struttura linguistica Soggetto-Predicato-Oggetto. Ogni tripla rappresenta uno "statement" (una dichiarazione) o un fatto. · Soggetto: La risorsa di cui si parla (es. l'IRI di Mario Rossi ex:mario). · Predicato (o Proprietà): Il tipo di relazione (es. l'IRI ex:isBornIn). · Oggetto: L'altra risorsa coinvolta (es. l'IRI di Roma wiki:Q220). In RDF, anche le proprietà (i predicati) sono risorse. Hanno un loro IRI e possono essere descritte a loro volta. Graficamente, questo crea un Grafo : due nodi (Soggetto e Oggetto) collegati da un arco (Predicato). L'insieme di questi archi forma una Semantic Network. RDF ha una "sintassi astratta", ovvero una struttura logica indipendente da come viene poi scritta in un file (che vedremo con Turtle) Il modello si basa su tre tipi di elementi: IRI, Literals e Blank Nodes. IRI - Sono gli identificatori globali del Web. · Permettono di identificare univocamente le risorse (persone, luoghi, concetti astratti). · Sono "actionable": un'applicazione può dereferenziarli (accedervi via HTTP) per recuperare informazioni. · È buona norma riutilizzare Vocabolari RDF esistenti (collezioni di IRI già definiti da comunità) per favorire l'interoperabilità. I Literals (Letterali) - Non tutto è un IRI. A volte dobbiamo rappresentare valori concreti come stringhe, numeri o date. Questi si chiamano Literals e sono usati per rappresentare valori concreti. Un Literal non può mai essere il soggetto di una tripla, solo l'oggetto. Un Literal in RDF è composto da:
Il modello semantico accetta solo relazioni binarie (Soggetto → Predicato → Oggetto). Cosa succede se dobbiamo rappresentare una relazione con più variabili? o Esempio della Ricetta: Per dire "La Carbonara necessita di 100 grammi di pancetta", la relazione tra ricetta e ingrediente è complessa (ingrediente + quantità + unità di misura). Non possiamo collegarli direttamente con un solo arco perchè RDF considera solo risorse binarie (rango 2). o Si usa un Blank Node: Creiamo un nodo intermedio anonimo intermedio che rappresenta "la quantità di ingrediente". È un nodo senza etichetta che serve a raggruppare proprietà (tipo, quantità, unità) Carbonara → ha_ingrediente → _BlankNode _BlankNode → tipo_ingrediente → Guanciale _BlankNode → quantità → 100 _BlankNode → unità → grammi o Le triple con Blank Nodes sono dette non-ground. o In questo modo, abbiamo scomposto una relazione di "rango 4" in quattro relazioni binarie (di "rango 2") usando un nodo di raccordo. Struttura gerarchica:
· Proprietà (Predicati) ≈ Simboli di predicato binari ($P(x, y)$). · Blank Nodes ≈ Variabili esistenzialmente quantificate ($\exists x$). o Una tripla con un Blank Node (b, p, o) equivale alla formula logica: Esiste un b tale che p(b, o) è vero. Relazioni Logiche tra Grafi :
1. Entailment (Conseguenza Logica): Un grafo A implica (entails) un grafo B se, ogni volta che A è vero, anche B è necessariamente vero. Se dimostro A, ho stabilito la verità di B. L'entailment si verifica spesso quando passiamo da un'informazione specifica a una più generale. · Grafo A (Specifico): ex:Mario ex:ha_amico ex:Luigi. o Significato: "Mario ha come amico Luigi". · Grafo B (Generale): ex:Mario ex:ha_amico _:b1 (dove _:b1 è un blank node ). o Significato: "Mario ha qualche amico" (esiste qualcuno che è amico di Mario). Relazione: Se è vero che Mario è amico di Luigi (Grafo A), allora è necessariamente vero che Mario ha un amico (Grafo B). Quindi A implica (entails) B. Non vale il contrario: sapere che Mario ha un amico (B) non significa necessariamente che sia Luigi. 2. Equivalence (Equivalenza): Due grafi A e B sono equivalenti se "dicono la stessa cosa" sul mondo (A implica B e B implica A). L'equivalenza si ha quando due grafi descrivono esattamente la stessa realtà, magari usando etichette interne diverse per i nodi anonimi. · Grafo A: _:x ex:vive_a ex:Roma. o Significato: "Qualcuno (chiamiamolo x) vive a Roma". · Grafo B: :y ex:vive_a ex:Roma. o Significato: "Qualcuno (chiamiamolo y) vive a Roma". Relazione: Anche se le etichette dei blank node (:x e _:y) sono diverse, entrambi i grafi affermano la stessa verità logica: esiste una persona che vive a Roma. Pertanto, A è equivalente a B (A implica B e B implica A).
RDF Vocabulary include IRIs per:
1. Parlare di tipi e proprietà · rdf:type che è una proprietà RDF che collega una risorsa al suo tipo ex:Marco rdf:type ex:Persona. · rdf:Property Tutte le proprietà RDF (come rdf:type stessa!) sono risorse di tipo rdf:Property. rdf:type rdf:type rdf:Property.
rappresentare una tripla RDF come una risorsa , per poter fare affermazioni su quella tripla. · rdf:Statement · rdf:subject · rdf:predicate · rdf:object ex:s rdf:type rdf:Statement ; rdf:subject ex:Marco ; rdf:predicate ex:isEating ; rdf:object ex:Apple. ex:Francesco ex:sees ex:s.
3. Descrivere strutture dati Container - RDF fornisce tre tipi di contenitori aperti , cioè collezioni che possono essere estese. Non permettono di sapere se la collezione è completa. · rdf:Seq - Sequenza con ordine significativo e duplicati ammessi · rdf:Bag - Lista non ordinata di risorse in cui l'ordine non conta e sono ammessi duplicati · rdf:Alt - Insieme di alternative I membri sono indicati tramite rdf:_1, rdf:_2, …
Collections - A differenza dei container, le RDF Collections sono chiuse e ben definite. Struttura concettuale: lista concatenata (linked list). Vantaggi rispetto ai container: insieme esatto degli elementi, supporto a strutture ramificate , base per costrutti OWL. · rdf:List · rdf:first · rdf:rest · rdf:nil _:l rdf:first ex:A ; rdf:rest _:l. _:l2 rdf:first ex:B ; rdf:rest rdf:nil.
4. Valori strutturati · rdf:value è una proprietà intenzionalmente priva di semantica propria. Serve per modellare valori complessi. ex:product1 ex:weight _:x. _:x rdf:value "2.4"^^xsd:decimal ; ex:unit "kg".
Il significato di un’espressione non è “quello che rappresenta ma in quali mondi è vera. Il quadro teorico usato dallo standard RDF è quello dei mondi possibili , introdotto da Kripke. L’idea è la seguente: invece di chiederci se una frase descrive il mondo reale , ci chiediamo in quali mondi possibili essa risulta vera. Una proposizione può essere: · necessaria → vera in tutti i mondi · possibile → vera in almeno un mondo · impossibile → vera in nessun mondo · contingente → vera nel mondo attuale, falsa in altri RDF lavora sempre nel dominio del possibile, non del necessario. Quando scriviamo un grafo RDF non stiamo dicendo “il mondo è così” , ma stiamo dicendo il mondo deve essere fatto in modo tale che queste affermazioni risultino vere. Un grafo RDF, quindi, riduce l’insieme dei mondi possibili : ammette solo quelli compatibili con le sue triple. A questo punto entra in gioco un concetto centrale del Semantic Web: la concettualizzazione. Una concettualizzazione è una visione strutturata del mondo , costruita per uno scopo comunicativo. Non è la realtà, ma una sua ricostruzione intenzionale e semplificata. Un esempio classico è quello della luce: · per alcuni fenomeni è utile concettualizzarla come onda · per altri come particella Entrambe le concettualizzazioni sono valide, ma incompatibili tra loro se prese alla lettera. Allo stesso modo RDF, RDFS, OWL non descrivono la realtà , ma descrivono una concettualizzazione della realtà Per rendere questo concetto matematicamente preciso, introduciamo la nozione di interpretation structure. Un’interpretation structure è una coppia: I=(Δ,ρ) dove: · Δ è un insieme non vuoto di oggetti, il dominio di discorso · ρ è un insieme finito di relazioni binarie su Δ Ogni relazione rappresenta una categoria concettuale. Supponiamo di avere tre blocchi: a, b, c. Il nostro dominio è: Δ={a,b,c}\Delta = {a, b, c}Δ={a,b,c}
La concettualizzazione include una sola relazione: onTopOf. Un’interpretation structure possibile è: · onTopOf = {(c, b)} Questa struttura rappresenta una situazione in cui c è sopra b. La relazione è intended (rispetta i vincoli). Un’altra struttura possibile è: · onTopOf = {(a, c), (b, c)} Questa struttura, però, non è accettabile ( non intended ) perché viola un vincolo implicito della concettualizzazione: un blocco può avere al massimo un blocco sopra di sé. Qui emerge un concetto fondamentale: non tutte le interpretation structures sono ammissibili. Possiamo ora dire formalmente: una concettualizzazione è l’insieme di tutte e sole le interpretation structures che rispettano i vincoli impliciti della visione del mondo adottata. Nel mondo RDF esistono due tipi di entità:
🔹 IL — interpretazione dei literal I literal, se ben formati, denotano risorse. Esempio: "25"^^xsd:integer può denotare il numero 25. Ma: "abc"^^xsd:integer non denota nulla → per questo IL è parziale. Ora la domanda chiave: quando una tripla è vera? Consideriamo la tripla RDF: ex:Marco ex:viveIn ex:Roma. Dire che questa tripla è vera non significa dire che è vera nel mondo reale. Significa che è vera in una certa simple interpretation. Come lo verifichiamo?
· IEXT(onTopOf) = {(c, b)} · IS(ex:c) = c · IS(ex:onTopOf) = onTopOf · IS(ex:b) = b 👉 La tripla è vera in S. Ma in un’altra simple interpretation: · IEXT(onTopOf) = {(a, b)} la stessa tripla sarebbe falsa. Questo è fondamentale: la verità è relativa all’interpretazione , non assoluta. E i blank node? Consideriamo: ex:c ex:onTopOf _:x. Qu non stiamo nominando una risorsa precisa. Stiamo dicendo: esiste qualcosa tale che c è sopra quella cosa Semanticamente: · proviamo a scegliere una risorsa qualsiasi · se ne esiste almeno una che rende vera la tripla → la tripla è vera I blank node introducono esistenza , non identità. Satisfiability: quando un grafo non è contraddittorio. Un grafo è soddisfacibile se esiste almeno una simple interpretation che lo rende vero. È insoddisfacibile se nessuna interpretazione può renderlo vero. Questo coincide con l’intuizione di contraddizione logica. Entailment : Dire che un grafo RDF G entail un grafo RDF H significa che ogni modo possibile di interpretare il mondo che rende vero G rende vero anche H. Esempio 1: un entailment che NON vale Consideriamo questo grafo G: ex:Marco ex:viveIn ex:Roma.