Se non avete mai sentito parlare di Semantic Web, vi proponiamo di cominciare da dieci termini.
L'elenco è in un ordine completamente casuale.
Semantic Web
Il web attuale è sostanzialmente un'immensa rete di documenti linkati. In ultima analisi, tali documenti sono scritti da esseri umani e pensati per essere letti da esseri umani. Siamo noi che navigando tra le varie pagine cerchiamo la risposta alle nostre domande. I motori di ricerca si limitano a indicarci quali documenti della rete contengono parole pertinenti con la nostra ricerca. Nulla di più e nulla di meno.
Il Semantic Web è un'evoluzione del WEB promossa dal W3C e da Sir Tim Berne Lee (l'inventore del web) per superare questo grande limite. Il Semantic Web è il web dei dati e sarà comprensibile sia agli uomini sia alle macchine.
Ad esempio, pensate a una tabella Excel (oppure a una tabella di un database, è lo stesso). La tabella può essere considerata come un documento che, se pubblicato in Internet, diventa disponibile per tutti. Le singole celle della tabella, ad esempio la cella B5, contengono dati. Il Semantic Web si propone di darci gli strumenti per poter dire al mondo che la cella B5 del nostro foglio Excel è "la previsione utile netto della mia società nell'anno 2015". Questo cambio di prospettiva permetterà di progettare un Google che non "cerca", ma "trova" [da una presentazione di Francesco Sacco].
Il Semantic Web è talvolta riferito come Web 3.0
Bisogno
Il bisogno è un elemento umano che non può essere espresso in termini logici, anche perchè non necessariamente il bisogno espresso coincide con quello reale. L'Uomo è un animale sociale, i bisogni della persona e della Società sono strettamente correlati. Il bisogno è quindi un'entità mutevole nel perimetro delle reti sociali dell'individuo.
Servizio IT
Un Servizio è un mezzo per fornire valore a chi desidera ottenere dei risultati senza detenere la proprietà degli strumenti necessari per produrli. Un Servizio IT è costituito da una combinazione di tecnologie dell'informazione, persone e processi.
Applicazione
Un software che usa e integra uno o più Servizi IT.
Modello dei Dati
Un modello dei dati è uno strumento concettuale che si preoccupa di rappresentare un dato con le sue associazioni con altri dati. Ci sono molti modi per descrivere un modello dei dati, più o meno espressivi. Ad esempio, un modello dei dati si può descrivere utilizzando UML (Unified Modeling Language).
Agente
Nell'accezione usata in questo articolo, per "agente" intendiamo un servizio IT che trova delle risposte a domande formulate da una applicazione.
Ontologia
Un'ontologia è una rappresentazione formale e condivisa dei concetti presenti di un particolare dominio della conoscenza. Di fatto è un vocabolario di termini cui associamo proprietà e vincoli in modo rigoroso.
Esistono molti modi per descrivere le Ontologie; il Semantic Web utilizza principalmente un linguaggio chiamato OWL (Ontology Web Language) e lo dota di semantica formale, ovvero di una rappresentazione logico matematica coerente.
Attraverso questi due strumenti (il linguaggio e la semantica formale) è possibile passare dal mondo concreto delle parole scritte a quello astratto dei concetti e viceversa.
Reasoner
Nel Semantic Web, un Reasoner è un servizio IT che è in grado di dedurre nuove informazioni partendo da un insieme di fatti. Un'altra equivalente definizione vede il Reasoner come un dimostratore di teoremi.
Per raggiungere i suoi obiettivi, un Reasoner utilizza gli strumenti della logica matematica. Un Reasoner è in grado di interpretare e comprendere le Ontologie.
Triplestore
Un Triplestore è un contenitore d'informazioni. In un triplestore tutte le informazioni sono organizzate in "triple" composte da un soggetto, un predicato e da un oggetto. Ad esempio possiamo immaginare un triplestore costituito da questa semplice tabella:
Soggetto |
Predicato |
Oggetto |
questa cosa |
è |
una Mela |
una Mela |
è |
un Frutto |
L'oggetto di una tripla può essere il soggetto di un'altra. Questo ci permette di immaginare l'insieme delle triple come un grafo orientato:
Il Semantic Web definisce un modello standard per descrivere questa struttura: RDF (Resource Description Framework).
Con un po' di fantasia possiamo immaginare come un buon Reasoner possa dedurre automaticamente che "questa cosa" "è" "un Frutto" anche se questo fatto non è esplicitamente inserito nel nostro triplestore.
Linked Data
I Linked Data sono il cuore del Semantic Web. Sono le informazioni raccolte nei vari triplestore e su cui operano i Reasoner. I Linked Data sono contenuti in tutti i documenti esposti dal web (pagine html, tabelle excel, file word, database etc). L'importante è che tali dati siano rappresentabili con triple RDF. Molto spesso però la relazione tra i dati contenuti in un documento è implicita ed evidente solo ad un lettore umano. È quindi necessario estrarre le informazioni dai documenti e mostrare tutte le relazioni tra i dati prima di poter parlare di Linked Data. Di fatto i Linked Data aggiungono la dimensione semantica al web come lo conosciamo oggi.
{fcomment}