aliada

37
ALIADA Automatic publication under LInked dAta paradigm of library DAta Andrea Gazzarini, @Cult Tiziana Possemato, @Cult c c c

Upload: cult-srl

Post on 11-Apr-2017

175 views

Category:

Technology


0 download

TRANSCRIPT

ALIADA Automatic publication under LInked dAta paradigm of library DAta

Andrea Gazzarini, @Cult Tiziana Possemato, @Cult

c

c c

Linked Open Data

Automatic publication under LInked dAta paradigm of library DAta

Il progetto ALIADA, approvato e finanziato dall’Unione Europea all’interno del Seventh Framework Programm for Research (FP7), ha avuto come obiettivo la realizzazione di un framework di conversione e pubblicazione automatica in RDF dei dati appartenenti a istituzioni culturali.

Il progetto prevede la collaborazione tra cinque partner in Spagna, Italia e Ungheria:

- @Cult (I)

- Scanbit (S)

- Tecnalia (S)

- ARTIUM - Centro Museo Vasco de Arte Contemporáneo (S),

- Szépmuvészeti Múzeum (U).

I primi tre rivestono un ruolo tecnico, con la responsabilità di gestire e creare gli artefatti (software e documentazione). Gli altri due partner sono istituzioni culturali che rappresentano i bisogni dei fruitori, fornendo suggerimenti e requisiti funzionali da parte di chi conosce il “dominio culturale”

http://aliada-project.eu

ALIADA - Automatic publication under LInked dAta paradigm of library DAta

Obiettivo del progetto ALIADA [1] è la realizzazione di una pipeline di gestione, conversione e pubblicazione automatica dei dati di istituzioni appartenenti al mondo dei beni culturali.

Il software è open source, licenziato sotto GPL V3 [2].

Il progetto è stato strutturato in diversi moduli, ognuno dei quali assolve a uno specifico compito nella catena complessiva di lavoro che parte dalla gestione dei dati di input sino alla loro pubblicazione, convertiti in triple o tuple RDF.

[1] http://aliada-project.eu

[2] https://github.com/ALIADA/aliada-tool

Proof of Concept

L'obiettivo del POC è quello di combinare una serie di strumenti / tecnologie che, a partire dal dato bibliografico, espresso in formato MARC, permettano la creazione e la gestione, in maniera efficace ed efficiente, di una base dati semantica con collegati una serie di servizi di fruizione aventi lo scopo di aumentare il livello di qualità dell'esperienza di ricerca utente in termini di :

Correttezza: affidabilità e pertinenza dei risultati restituiti; Significatività: aderenza dei risultati rispetto agli obiettivi; Capacità informativa: legami con altre risorse

7

L’architettura di ALIADA è costituita da 4 componenti di alto livello:

- Interfaccia utente

- Conversione

- Iterlinking

- Pubblicazione

Conversion

Linking

Publication

UserInterface

USER

LINKED OPENDATA CLOUD

DATASETSINFORMATION

DATASETPUBLICATION

INPUT COMMANDS

EXECUTIONFEEDBACK

ALIADA

Dublin Core

© 2015 Aliada Consortium

Architettura di ALIADA

8

1. L’interfaccia utente interagisce con gli

altri componenti di ALIADA per fare in

modo che l’utente lavori con i linked open

data pur non essendo un esperto di

tecnologie semantiche.

2. L’ontologia di ALIADA orienta e

definisce il processo di conversione del

file originario (input) in formato RDF.

Differenti RDF-iers, cioè, processi di

conversione, prendono parte al processo. I

dati RDF così prodotti saranno validati

prima di essere utilizzati dalla componente

di interlinking.

3. La componente di interlinking

memorizzerà il dataset in formato RDF in

un triple store e collegherà ciascun dato ad

altri dati presenti su dataset disponibili nel

LOD cloud.

4. Al termine, la componente di

pubblicazione pubblicherà il dataset RDF

nel LOD cloud.

RDF Triple Store

RDF output

MARCXML2RDF

LIDO2RDF

ALIADA ontology

CONVERSION

DublinCore2RDF translation

LINKING

PUBLICATION

Linked Data Server

Creation CKAN DataHub page

Validation of Input Data

VALIDATIONRDF

VALIDATIONLinked Dataset

USERINTERFACE

RDF-izer

Other RDF-izer

endpoint Links Discovery

Dublin Core

© 2015 Aliada Consortium

Architettura di ALIADA

Il dato di partenza: Le avventure di Pinocchio

000 00694nam a2200241 i 4500

008 971205s1997 it j 000 0 ita c

020 a 880921191X

082 1 a 853.8

100 1 a Collodi, Carlo.

245 13 a Le avventure di Pinocchio /

c C. Collodi ; illustrazioni di Attilio Mussino.

260 a Firenze :

b Giunti,

c 1997.

440 0 a Collana favolosa / [Giunti]

521 a Letteratura per ragazzi

700 1 a Mussino, Attilio.

La consolle di amministrazione

Il processo di conversione e pubblicazione dei dati rappresenta il fattore chiave di ALIADA;

la consolle di amministrazione, gestita da un utente professionale, consente il controllo delle funzioni:

- caricamento dei dati,

- conversione

- visualizzazione

- interlinking

- monitoraggio dei processi.

L’applicazione è stata disegnata cercando di astrarre e semplificare la complessità delle operazioni svolte dal sistema.

L’interfaccia di amministrazione permette, dunque, di gestire i dati di input, produrre dei template (modelli) preconfigurati per definire le regole di conversione, lanciare i processi di trasformazione e monitorarne lo status (andamento).

La consolle di amministrazione

RDFizer: modulo di conversione

Alla base della catena di produzione del dato RDF si trova il modulo di conversione, denominato RDFizer.

Il suo ruolo è di prendere un insieme di dati in input, in uno dei formati supportati, applicare delle regole di trasformazione e infine produrre un output.

Il modulo è disegnato per trattare dati in qualunque formato in input e in output. La natura modulare lo rende conforme al principio Open-Closed, secondo il quale un sistema deve poter permettere l’aggiunta di nuove funzionalità, fornendo punti di estensione ed evitando effetti indesiderati relativi all’interruzione di funzioni esistenti.

Il modulo opera la conversione dei dati di input in triple RDF, in accordo con le ontologie definite per il progetto.

RDFizer: modulo di conversione

RDFizer - Pipeline di conversione

INPUT

OUTPUT

INPUT I record MARC da processare

OUTPUT I dati convertiti in accordo alle caratteristiche di ciascuno store

Pinocchio nell'RDF Store

<bibo:Book rdf:about="http://www.cbt.trentinocultura.net/biblio/000002577949">

<dcterms:identifier>000002577949</dcterms:identifier>

<bibo:isbn10>880921191X</bibo:isbn10>

<dcterms:shortTitle>Le avventure di Pinocchio</dcterms:shortTitle>

<dcterms:title>

Le avventure di Pinocchio / C. Collodi ; illustrazioni di Attilio Mussino

</dcterms:title>

<dc:creator rdf:resource="http://www.cbt.trentinocultura.net/person/collodi_carlo"/>

<dcterms:language>ita</dcterms:language>

<dcterms:audience rdf:resource="http://www.cbt.trentinocultura.net/subject/opera_per_bambini"/>

<dcterms:isPartOf rdf:resource="http://www.cbt.trentinocultura.net/biblio/2378129373323" />

<dcterms:extent>186 p.</dcterms:extent>

<isbd:hasPlaceOfPublicationProductionDistribution>

Firenze

</isbd:hasPlaceOfPublicationProductionDistribution>

<dcterms:issued>1997</dcterms:issued>

<dcterms:publisher rdf:resource="http://www.cbt.trentinocultura.net/organisations/giunti"/>

</bibo:Book>

<foaf:Person rdf:about="http://www.cbt.trentinocultura.net/person/collodi_carlo">

<foaf:name>Collodi, Carlo</foaf:name>

</foaf:Person>

<foaf:Organization rdf:about="http://www.cbt.trentinocultura.net/organisations/giunti">

<foaf:name>Giunti</foaf:name>

</foaf:Organization>

Pinocchio all'interno dell'inverted index (1/2)

Le avventure di Pinocchio

Le avventure di Pinocchio

avventure Pinocchio

avventure pinocchio

avventur pinocchio

ATFN PNX

Tokenization

Stopwords

Lowercase

Stemming (light)

Fonemi (!)

Le di

Pinocchio all'interno dell'inverted index (2/2)

All’interno dell’indice i dati perdono qualsiasi connotazione semantica:

il meccanismo di sounds-like* per il titolo e l’autore di questo testo produce i fonemi:

- ATFN = Adventures

- PNX = Pinocchio

- KRL = Carlo

- KLT = Collodi

ATFN PNX

KRL KLT

* Per questa funzione viene utilizzato un algoritmo open chiamato double methaphone

In pratica...

Autocompletamento

Faccette

Interlinking La produzione di triple RDF a partire da un formato in ingresso soddisfa un

requisito di standardizzazione e aumenta la caratteristica di riusabilità del dato.

La reale potenza di questo formato di dati è, tuttavia, rappresentato dalla possibilità di creare legami con concetti ed entità presenti su dataset esterni.

A fronte del grafo RDF prodotto da RDFizer, il modulo dell’interlinking, tramite un set di regole configurabili da interfaccia di amministrazione, provvede a cercare entità in dataset esterni e a creare collegamenti.

Interlinking

Il risultato è una serie di triple con:

- soggetto: gli URI delle entità locali ricavate dal processo di conversione;

- predicato: owl:sameAs o una sua sotto-proprietà;

- oggetto: l’URI della risorsa esterna collegata.

A questo punto RDF store contiene un dataset interrogabile (per esempio, SPARQL) e arricchito dai collegamenti esterni.

Silk Framework

Silk Framework [1] è un progetto open source, coordinato dall'Università di Mannheim, e serve per collegare dataset diversi tra di loro (interlinking).

Il progetto, disponibile sotto licenza Apache Version 2.0, può essere prelevato gratuitamente.

Mette a disposizione uno strumento grafico per creare le regole di interlinking ed istruire così il sistema durante la ricerca dei legami.

Una delle caratteristiche fondamentali è la possibilità di effettuare un tuning incrementale delle regole di matching che determinano l'equivalenza di due entità.

[1] http://wifo5-03.informatik.uni-mannheim.de/bizer/silk

22

ALIADA

dataset

E39_Actor

E21_Person

F10_Person

Actor_Appellation

MARCCo

deLists

MARC_Country

MARC_GeographicArea

DBpedia Agent:name

Place:name

Work:label

Europeana dc:title

edm:ProvidedCHO BNB

dc:title

BNE

ifla-frbr:C1005

ifla-frbr:P3039 / ifla-frad:P4031

ifla-frbr:C1001

ifla-frbr:P3001 / ifla-frad:P4033

GeoNames geo:name

wgs84:lat

wgs84:long

Freebase

people.person

visual_art.artwork

book.book

F3_Manifestation_Product_Type –

Title

E18_Physical_Thing –

Appellation

NSZL foaf:Person

bibo:document

E53_Place

F9_Place Place_Appellation

wgs84:lat

wgs84:long

film.film

E73_Information_Object –

Title

E56_Language

MARC:Language

ALIADA Final Review Meeting. Luxemburg, November 12th, 2015

Linking a dataset provvisti di uno SPARQL endpoint

23

ALIADA

dataset

E39_Actor

E21_Person

F10_Person

Actor_Appellation

LOBID: Libraries

& rel.

organisations

VIAF

Library of

Congress Subject

Headings

http://id.loc.gov/search/?q=StringToS

earchFor&q=cs:http://id.loc.gov/auth

orities/subjects&format=xml

F3_Manifestation_Product_Type - Title

Title ecrm:P3_has_note StringToSearchFor

LOBID:

Bib.

resources

E39_Actor - Actor_Appellation

Actor_Appellation ecrm:P3_has_note StringToSearchFor

E89_PropositionalObject ecrm:P129_is_about skos:Concept

skos:Concept skos:prefLabel StringToSearchFor

E1_CRM_Entity P137 exemplifies skos:Concept

skos:Concept skos:prefLabel StringToSearchFor

http://api.lobid.org/organisation?name=StringToSearchFor&format=ids

http://api.lobid.org/resource?name=StringToSearchFor&format=id

s

Actor_Appellation ecrm:P3_has_note StringToSearchFor

http://www.viaf.org/viaf/AutoSuggest?query=StringToSearchFor

Open

Library

https://openlibrary.org/search?title=StringToSearchFor

ALIADA Final Review Meeting. Luxemburg, November 12th, 2015

Linking a datasets che non forniscono uno SPARQL endpoint

Aggiungiamo Silk

INPUT

OUTPUT

<foaf:Person rdf:about="http://www.cbt.trentinocultura.net/person/collodi_carlo">

<foaf:name>Collodi, Carlo</foaf:name>

</foaf:Person>

<foaf:Person rdf:about="http://www.cbt.trentinocultura.net/person/collodi_carlo">

<foaf:name>Collodi, Carlo</foaf:name>

<owl:sameAs rdf:resource=”http://dbpedia.org/resource/Carlo_Collodi”/>

</foaf:Person>

Utilizzo pratico: informazioni sull'autore

Utilizzo pratico: informazioni sull'autore

Utilizzo pratico: informazioni sull'editore

Utilizzo pratico: Nuovo Soggettario

Utilizzo pratico: informazioni sui luoghi

Linked Data Server

Oltre alle possibilità d’interrogazione offerte da RDF store, il quale funge da SPARQL endpoint, il modulo Linked Data Server espone un set di API REST che permettono di dereferenziare* gli URI delle entità, restituendo una loro rappresentazione.

La tipologia della rappresentazione, il formato, dipende dalla negoziazione con il client, sulla base di attributi presenti nella richiesta.

*Dereferenziare. L’azione di recuperare la rappresentazione di una risorsa identificata da un URI (dereferencing the URI).

Riferimenti: http://www.w3.org/TR/cooluris/

Per essere nel web:

- Le macchine e le persone dovrebbero essere capaci di recuperare una descrizione della risorsa identificata dall’URI.

- Le macchine dovrebbero ottenere dati RDF e le persone dovrebbero ottenere una rappresentazione leggibile, per esempio in HTML.

Cool URIs:

- Semplicità: URI corto e mnemonico

- Stabilità: dovrebbe on cambiare nel tempo (persistenza)

- Gestibilità: tutti gli URI dovrebbero essere in un sottodominio dedicato

31 ALIADA Final Review Meeting. Luxemburg, November 12th, 2015

URI dereferenziazione

Struttura dell’URI in Aliada

{domain}/{type}/{concept}/{class}/{reference}.{format}

32

Thing

Generic

Document

RDF+XML RDF+N3 RDF+JSON LD+JSON Text/Plain HTML

http://data.szepmuveszeti.hu/id/collections/museum/E18_Physical_Thing/szepmuveszeti.hu_object_29

303 Redirect

http://data.szepmuveszeti.hu/doc/collections/museum/E18_Physical_Thing/szepmuveszeti.hu_object_29

Content negotiation

application/rdf+xml text/rdf+n3 application/rdf+json application/ld+json text/html text/plain

ALIADA Final Review Meeting. Luxemburg, November 12th, 2015

URI dereferenziazione

Pubblicazione

Convertiti in RDF, arricchiti con l’interlinking e disponibili sul Linked Data Server, i dati potrebbero essere qualificati come pubblici, purché l’accesso SPARQL e Linked Data Server lo siano.

Il modulo di pubblicazione di Alida è finalizzato a estendere il concetto di disponibilità e fruizione dei dati, favorendo l’automazione del processo di consegna e la disponibilità del dataset generato su piattaforme pubbliche come datahub.io.*

Il processo, in parte automatico e in parte manuale, prevede l’aderenza a una serie di principi formali, quali per esempio, consistenza del dataset, URI dereferenziabili, presenza di un Linked Data Server che supporti la negoziazione del contenuto.

ALIADA aiuta l’utente automatizzando i passaggi che possono essere svolti dalla macchina e fornendo dei meccanismi di controllo ausiliari per le operazione che devono essere svolte manualmente.

*http://datahub.io

34 ALIADA Final Review Meeting. Luxemburg, November 12th, 2015

Pubblicazione sul datahub CKAN

L'ontologia di ALIADA

Essa include altre ontologie individuate e scelte per rappresentare le entità trattate:

• Erlangen FRBRoo (FRBRoo): basata sulla definizione dell’ontologia FRBRoo, aggiunge e combina elementi proveniente dalle ontologie ECRM e CIDOC-CRM;

• WGS84 Geo Positioning: per rappresentare concetti geospaziali, localizzabili tramite coordinate geografiche;

• OWL-Time: per i concetti a connotazione temporale;

• SKOS-XL (Simple Knowledge Organization System eXtension for Labels): estensione di SKOS, che aggiunge entità a concetti che nella versione base sono rappresentati da letterali;

• FOAF: per rappresentare concetti relativi a persone, organizzazioni, enti e corrispondenti relazioni.

L’ontologia di ALIADA è, dunque, una meta-ontologia, che, oltre alla integrazione di ontologie esistenti, definisce proprie entità, che derivano dai sistemi di classificazione usati dai partner coinvolti nel progetto.

La versione commerciale di ALIADA sostituisce l’ontologia BIBFRAME a FRBRoo