Linked Data

L’interoperabilità è uno dei vantaggi più importanti del modello Open Data. I dati, se isolati, hanno poco valore; viceversa, il loro valore aumenta sensibilmente quando data set differenti, prodotti e pubblicati in modo indipendente da diversi soggetti, possono essere incrociati liberamente da terze parti. Questo è alla base del processo di creazione di valore aggiunto sui dati: le applicazioni. Le applicazioni, di valore sociale e/o economico, sfruttano quello che può essere visto come un grande database aperto e distribuito per offrire viste e servizi. L’interoperabilità è dunque un elemento chiave di uno degli aspetti più innovativi offerti dagli open data: l’uso dei dati in modi e per scopi “inattesi”, nuovi in quanto non previsti dai singoli enti e soggetti che pubblicano i “dati grezzi”.

Per consentire il riuso dei dati occorre poter combinare e mescolare liberamente i dataset. Occorre cioè collegare i dati tra loro, stabilendo un link diretto quando i dati (possibilmente provenienti da diverse sorgenti) si riferiscono a oggetti identici o comunque relazionati tra loro. Tale collegamento diretto si manifesta come la possibilità di “saltare” da un dataset all’altro, ad esempio quando si vuole accedere a dati (come i dettagli su una particolare entità) che non si posseggono al’interno.
Supponiamo per esempio di avere, da una parte, amministrazioni locali che pubblicano dati aperti relativi ai monumenti storici e agli hotel che si trovano nelle vicinanze di quei monumenti; dall’altra, Sovrintendenze ai Beni Culturali che pubblicano dati dettagliati sui monumenti, gli artisti e i periodi storici, e sui quadri esposti nei musei o nei palazzi.
Combinare i due dataset potrebbe essere di grande utilità, ad esempio per offrire un servizio personalizzato sugli itinerari in base agli interessi culturali specifici di un turista.
Per fare questo, se i dati non sono “collegati” (linked) occorre in qualche modo creare questi link, processando i dati a mano o attraverso algoritmi ad hoc. Questo processo può non essere banale e sicuramente è una barriera al riuso organico dei dati.

Nei cosiddetti Linked Data, questi collegamenti e relazioni tra le entità descritte nei dataset sono espliciti. Spiegheremo di seguito in base a quali semplici meccanismi un’applicazione sia in grado di consumare facilmente Linked Data e “saltare” facilmente da un data set all’altro facendo leva proprio su questi collegamenti (o relazioni) tra i dati, e avendo quindi accesso in ogni momento al resto della rete globale (o condivisa all’interno di comunità di utenti) di dati.

Machine readable vs. machine linkable

I linked data, per definizione, vengono espressi tramite Resource Description Framework (RDF). RDF non è propriamente un formato di dati, ma un “data model”, cioè un formalismo per rappresentare dati. Un dataset RDF può essere infatti serializzato in diversi formati (RDF/XML, N3, NTriple, etc.), ma il data model RDF possiede alcune caratteristiche che restano immutate, a prescindere dal formato che viene utilizzato.

In poche parole il modello RDF è costituito da triple, della forma soggetto-predicato-oggetto. Le triple possono condividere oggetto o soggetto così da formare un grafo. Il modello è illustrato in figura.

Questo insieme di triple RDF (o grafo) può essere espresso, allo scopo di venire scambiato tra applicazioni e pubblicato sul web, in vari formati di serializzazione.
Ad esempio in N3:

@prefix ex: .
@prefix foaf: .
@prefix rdf: .
ex:Bob foaf:knows ex:Alice.
ex:John foaf:knows ex:Bob

o in RDF/XML:


<?xml version="1.0"?>
<rdf:RDF
xmlns:ex="http://example.org/"
xmlns:foaf="http://xmlns.com/foaf/0.1//"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="http://example.org/John">
<foaf:knows>
<rdf:Description rdf:about="http://example.org/Bob">
<foaf:knows rdf:resource="http://example.org/Alice" />
</rdf:Description>
</foaf:knows>
</rdf:Description>
</rdf:RDF>

La caratteristica più importante di tale modello, che si sposa con la visione Linked Data, è usare Uniform Resource Identifier (URI). Spieghiamo brevemente il perché.

I dati descrivono cose, persone, luoghi, libri, artefatti, istituzioni, aziende e così via. Tali cose possiedono nomi che li identificano. In alcuni formati di rappresentazione dei dati, questi nomi sono semplici etichette, come “Alessandro Manzoni”, “Palermo”, “Divina Commedia”, “Pietà di Michelangelo”, etc.

Diversamente, in RDF i nomi sono URI. Un tipo di URI particolare, molto utilizzato, è lo Uniform Resource Locator (URL).
Gli URL sono familiari a chi usa il Web, poiché compaiono nella barra di navigazione del browser, e cominciano con “http://”. Possono essere cioè “risolti” e la loro rappresentazione digitale descrive la risorsa in un formato che è comprensibile tanto dagli umani quanto dalle macchine. Nel caso dei linked data, tale rappresentazione è una descrizione della risorsa stessa in forma di RDF.

In che modo i linked data possono favorire l’interoperabilità

Torniamo all’esempio del monumento, e supponiamo che i due dataset (amministrazione locale e sovrintendenza) siano stati pubblicati come Linked Data. Per identificare i monumenti, il dataset delle sovrintendenza usa URL (del tipo http://cultural-heritage-example.org/monument/XYZ). Il contenuto digitale di tali URL corrisponde alla descrizione dettagliata dei monumenti.
Il data set dell’amministrazione locale, inserendo dei link a tali URL, come avviene in figura 1, permetterebbe a un software di risolvere l’URL e ottenere la descrizione del monumento (sempre aggiornata).

Ancora, dal momento che RDF consente di specificare precisi tipi di risorse, potremmo pensare a un semplice script che trovi tutte le risorse di tipo “monumento” nel dataset dell’amministrazione locale, e che importi, per ciascuna, informazioni aggiuntive, creando così un dataset misto. Su quest’ultimo nuovodata set arricchito, si potrebbero poi fare query del tipo “trova tutti gli alberghi vicini a un monumento successivo al XIII secolo, in cui siano esposte sculture del Canova”.

Linked Data Cloud

Questo esempio è solo uno degli scenari possibili in cui i linked data possono favorire l’interoperabilità tra dataset. Le possibilità sono infinite se pensiamo alla vasta quantità di Linked Open Data già presenti sul Web. DBPedia.org, per esempio, espone una grande porzione di dati di Wikipedia come linked data, mentre Geonames offre descrizioni RDF di entità geografiche. http://linkeddata.org/ fornisce un quadro dello stato corrente della “Linked data cloud”, e mostra un ecosistema di database interconnessi in rapida crescita.
Ciascuno di questi database fornisce dati che possono essere linkati dal vostro dataset, e che possono aggiungere valore ai vostri dati.

Comunità specifiche

Sebbene uno dei tratti distintivi dello spirito tanto del Web Semantico quanto del movimento Open Data, sia quello di rivolgersi a una comunità globale e senza particolari restrizioni sui dati, nulla vieta di utilizzare identiche tecnologie illustrate sopra in ambiti ristretti. Basandosi principalmente sui protocolli Web (HTTP), le tecnologie sono implementabili in LAN o reti private. Si pensi, ad esempio, al caso di informazioni che escono dalla sfera del pubblico (dati potenzialmente sensibili degli impiegati) ma che è comodo “linkare” in “sola uscita” a dati pubblici.