m. scannapieco - da sdmx a rdf data cube vocabulary: integrare i dati statistici con il web...
DESCRIPTION
TRANSCRIPT
Da SDMX a RDF Data Cube Vocabulary:
Integrare i Dati Statistici con il Web Semantico
Monica Scannapieco
Joint work with:
Raffaella M. Aracri, Andrea Pagano,
Laura Tosco, Luca Valentino
Istat - RST/B U.O. Sviluppo sistemi informatici per la statistica
2
Introduzione: Open Data & Linked Open Data
• Open: formato che consenta «utilizzo, ri-utilizzo e ri-
distribuzione»
• Linked Open: modelli e formati standard (e.g. RDF) che
consentano integrazione
• Superamento del pattern «prima open - poi linked»: Dati
direttamente in formato Linked Open Data (LOD)
• Esempio 1: USA data.gov è un esempio significativo di portale open data
in ambito PA. In corso la trasformazione in LOD
• Esempio 2: DBpedia & Wikidata
• Dbpedia: estrazione dati dalle infoboxes di Wikipedia
• Wikidata: recente (aprile 2012), database strutturato, si propone di
alimentare le infoboxes di Wikipedia
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
3
Introduzione: Linked Open Data e Interoperabilità
Semantica
• Linked Open Data
• Dataset in formato RDF
• Interconnessi=>Interoperabilità semantica
• Stack del Web Semantico
Formato e sintassi
Semantica
Conoscenza
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
4
LOD CLOUD
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
31 miliardi di triple
Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/
5
Problema...
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
ISTAT Dati sul WEB
Reference Metadata
Enhanced SDMX
BB1 BB2 BBn
SDMX
Web Service Provider
SEP
Tablets/
smartphones
Structural Metadata
WEB GUI
Structural Metadata
…
Istat
Information System
Building Blocks
Excel
Plug-in
Metadata Management System
Come “integrare” i dati diffusi dall’Istat con i dati
presenti sul Web e già interconnessi tra loro?
6
…Soluzione (una possibile)
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
Trasformazione
RDF
RDF Data Cube
Vocabulary
SDMX
7
Progetto in Collaborazione con Spazio Dati
• Nell’ambito del gruppo di lavoro su Open Data, si è avviata una
collaborazione con la società SpazioDati (http://spaziodati.eu/home)
• Obiettivo: integrazione di data set dell’Istat con dati in formato RDF Data
Cube (RDF-QB)
• Le Fasi del Progetto:
• Progetto e sviluppo del traduttore da SDMX a RDF-QB (Istat): Done
• Validazione dei risultati (Istat e SpazioDati): Done
• Utilizzo del traduttore e integrazione (SpazioDati): To Do
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
8
RDF Data Cube Vocabulary
• RDF Data Cube (RDF QB) è un W3C Working Draft del 5 aprile 2012
• RDF QB si basa su SDMX
• Centrato unicamente sulla pubblicazione sul web di dati multi-
dimensionali
• Costruito sull’ information model di SDMX
• Costruito sui seguenti vocabolari (già esistenti):
• SKOS for concept schemes
• SCOVO for core statistical structures (deprecated)
• VoiD for data access
• FOAF for organisations
• Dublin Core Terms for metadata
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
9
RDF Data Cube Vocabulary
• I nomi delle entità RDF sono delle URI
• Notazione Compact: i nomi sono scritti nel formato prefix:localname
• Prefix identifica un namespace URI
• La concatenazione del prefix e del localname fornisce l’URI completo
• Prefix diffusi:
• rdf, rdfs: namespace del core di RDF
• dc: Dublin Core
• skos: Simple Knowledge Organization System
• foaf: Friend Of A Friend
• void: Vocabulary of Interlinked Datasets
• qb: Data Cube namespace http://purl.org/linked-data/cube#
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
10
Trasformazione da SDMX a RDF-QB
DSD (key family)
SDMXRDF QB
Data file
SDMX
Data set RDF
trasformazione
trasformazione
Code list
Concept
dimension, attribute,measure
?
?
?
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
11
Analisi Ambienti Tecnologici
• Ambiente R:
• Package RSDMX (sviluppato alla FAO): non completato e non
manutenuto attivamente
• Ambiente Java:
• Apache JENA: framework per la lettura, processamento e
scrittura dati in RDF, possibilità di effettuare query SPARQL e
molto altro
• Input SDMX non contemplato
• Progetto MIMAS (http://mimasld.wordpress.com/2011/11/25/final-product-
post-esds-the-sdmx-to-rdf-process/ )
• Trasformazione dei dati utilizzando XSLT
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
12
Scelta Tecnologica
• Ispirata da MIMAS: Utilizzo di trasformazioni XSLT
• Motore di esecuzione delle trasformazioni: Saxson (Home
Edition)
• Supporta XSLT 2.0, XQuery 1.0, XPath 2.0
• Disponibile sia in Java che in .NET
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
13
Esempio di Mapping
<structure:Concept id="REF_AREA">
<structure:Name xml:lang="en">Geographical reference area</structure:Name>
</structure:Concept>
SDMX DSD
<rdf:Description rdf:nodeID="REF_AREA">
<qb:dimension rdf:resource="http://dati.istat.it/output/code/territory"/>
<dc:language>en</dc:language>
<rdf:type rdf:resource="http://purl.org/linked-data/sdmx#DimensionProperty"/>
<rdf:type rdf:resource="http://purl.org/linked-data/sdmx#CodedProperty"/>
<sdmx:codeList rdf:resource="http://dati.istat.it/output/code/territory"/>
<rdfs:range rdf:resource="http://dati.istat.it/output/code/territory"/>
<rdfs:label xml:lang="en">Geographical reference area</rdfs:label>
</rdf:Description>
RDF QB
14
Esempio di File XSL: Definizione delle Regole di
Trasformazione
<xsl:for-each select="doc($dsd)//*[local-
name()='KeyFamilies']/structure:KeyFamily/structure:Components/*[@conceptRef]">
<xsl:variable name="conceptRef" select="./@conceptRef"/>
<xsl:variable name="codeList" select="./@codelist"/>
<xsl:variable name="codeListName"
select="doc($dsd)/*[1]/*[2]/*[name()='registry:CodeLists']/*[@id=$codeList]/structure:Name[@xml:lang=$lan
guage]"/>
<xsl:element name="rdf:Description" >
<xsl:attribute name="rdf:nodeID" select="$conceptRef"/>
<xsl:element name="qb:dimension">
<xsl:attribute name="rdf:resource" select="concat($IstatRoot,'/code/',$codeListName)"/>
</xsl:element>
</xsl:element>
Lettura da SDMX: Concept e Codelist
Scrittura in RDF QB: Concept e Codelist
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
15
Validazione Sintattica e Semantica
• Validazione Sintattica: validati i file RDF
sintatticamente, creando le triplette RDF e la relativa
rappresentazione a grafo
• Utilizzato il software free validator
(http://www.w3.org/RDF/Validator/)
• Verificata anche conformità a turtle (formato Eurostat per le DSD)
• Da RDF XML a fomato turtle (.ttl)
• Software any23 (http://any23.apache.org/ )
• Validazione semantica: il modello dati è un modello
modello RDF QB «valido»
• Utilizzato Openlink Virtuoso (http://download.openlinksw.com/ )
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
16
Background: SPARQL
• SPARQL (Sparql Protocol And RDF Query Language) è
un linguaggio con una sintassi simile a quella SQL per
l'interrogazione di dati RDF e un protocollo di
comunicazione basato su HTTP
• Uno SPARQL client può quindi interrogare un
endpoint SPARQL con interrogazioni (“query”)
riguardanti un grafo RDF
• SPARQL consente di fare “graph pattern matching”
all'interno di dati RDF
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
17
Validazione Semantica
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
SELECTobs_id,ref_area, obs_value,time_period,territoryLabelWHEREtypeofWaste=9ANDTime=2001-01-01
18
Test Case e Performance
Test Case Data Input Size(KB)
Execution Time(min,sec)
Mimas-like 1.338 6m 7,9s
Mimas-like 2.674 12m 32,86s
Mimas-like 4.009 18m 42,248s
Mimas-like 5.345 23m 49,127s
Base 1.338 2m 17,71s
Base 2.674 4m 36,933s
Base 4.009 7m 28,945s
Base 5.345 9m 12,627s
Optimized 1.338 5,6s
Optimized 2.674 7,87s
Optimized 4.009 11,003s
Optimized 5.345 13,968s
19
Test Case e Performance
Millisecondi (Log Scale)
KB
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013
20
Conclusioni e Sviluppi Futuri
• Sviluppo prototipale
• Formato dati SDMX : Compact
• Possibili estensioni ad altri formati SDMX (i.e.,
Generic, Cross-Sectional)
• Estensione delle regole di trasformazione dei
costrutti
• Integrazione con il Single Exit Point (SEP)
• Estensione dei Test
Monica Scannapieco – Seminario SDMX - 29 Gennaio 2013