rjsdmx (connettori sdmx per software statistici)

18
1 RJSDMX (Connettori SDMX per Software Statistici) Attilio Mattiocco Banca D’Italia Area Ricerca Economica

Upload: brady-boyer

Post on 01-Jan-2016

89 views

Category:

Documents


3 download

DESCRIPTION

RJSDMX (Connettori SDMX per Software Statistici). Banca D’Italia Area Ricerca Economica. Attilio Mattiocco. Cos’è RJSDMX. RJSDMX è un package per R, sviluppato dalla Banca d’Italia, per l’accesso a dati SDMX disseminati da providers istituzionali - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: RJSDMX (Connettori SDMX per Software Statistici)

1

RJSDMX(Connettori SDMX per Software Statistici)

Attilio MattioccoBanca D’Italia

Area Ricerca Economica

Page 2: RJSDMX (Connettori SDMX per Software Statistici)

2

Cos’è RJSDMX

• RJSDMX è un package per R, sviluppato dalla Banca d’Italia, per l’accesso a dati SDMX disseminati da providers istituzionali

• E’ stato ideato per portare in un ambiente computazionale R (nella forma di time series di tipo zoo) dati esposti attraverso Web Services SDMX.

• RJSDMX offre anche alcune funzionalità di base per query su metadati strutturali. Queste funzioni servono ad esplorare la struttura dei flussi SDMX e costruire le successive query dati.

• Il package è costituito da un nucleo principale di codice Java racchiuso in una ‘façade’ di codice R. Questa architettura ha permesso di sviluppare, in maniera molto efficiente (alto riuso di codice), un framework di Connettori SDMX per diversi software statistici

Page 3: RJSDMX (Connettori SDMX per Software Statistici)

3

I Connettori SDMX

internet/intranet

ECB OECD ISTAT BISInfostat

In futuro

In futuro

Enterprise Applications

ECBSecure

OECDSecure

IMF

SDMX Providers

SDMX Connectors

SDMX client

Page 4: RJSDMX (Connettori SDMX per Software Statistici)

4

Ragioni dei Connettori SDMX

La prima fase di un tipico processo di calcolo consiste nell’acquisizione dei dati oggetto dell’analisi.

Questa operazione, specialmente nel caso di dati esterni all’organizzazione, è spesso molto inefficiente e implica operazioni manuali (spesso ripetitive) o complessi processi di replica su sistemi interni.

Data Process

Data Dissemination

SDMXProvider

Data Capture

Page 5: RJSDMX (Connettori SDMX per Software Statistici)

5

Ragioni dei Connettori SDMX

• L’uso combinato di SDMX e Web Services permette di semplificare notevolmente il passo di acquisizione di dati esterni.

• Si consideri, in particolare, l’incremento di efficienza nel caso di processi ripetitivi

Data Process

Data Dissemination

SDMXProvider

Data Capture

• Esiste però una complessità molto alta nella gestione dei web services SDMX.

• I Connettori SDMX sono stati quindi sviluppati allo scopo di mascherare tutte le complessità dello standard e delle tecnologie web utilizzate

Page 6: RJSDMX (Connettori SDMX per Software Statistici)

6

L’area Ricerca Economica della Banca d’Italia

Area Ricerca

ISTAT

ECB OECD

IMF

SDMX data providersAltri data providers

DataStream, WorldBank,OpenData

SDMXAltri protocolli

Accessonativo

INFOSTAT

BIP BISS

PRISMA ...

SDMX

Co

nn

etto

riIN

FO

ST

AT

Co

nn

etto

riS

DM

X

Page 7: RJSDMX (Connettori SDMX per Software Statistici)

7

Roadmap

• Supporto della versione 2.1 dello standard SDMX

• Sviluppo del client per i dati della Banca dei Regolamenti Internazionali

• Switch da protocollo SOAP a REST

• Potenziamento della estensibilità della libreria Java: pieno supporto di client sviluppati esternamente

• Rilascio dell’infrastruttura come Open Source, in un progetto indipendente o all’interno di una più generale infrastruttura SDMX

Page 8: RJSDMX (Connettori SDMX per Software Statistici)

8

Grazie!

attilio.mattiocco diana.nicoletti @ bancaditalia.it gianpaolo.lopez

Page 9: RJSDMX (Connettori SDMX per Software Statistici)

9

Backup

Page 10: RJSDMX (Connettori SDMX per Software Statistici)

10

Load RJSDMX

Il package viene caricato nel workspace insieme alle sue dipendenze

Page 11: RJSDMX (Connettori SDMX per Software Statistici)

11

Lista dei Data Providers disponibili

I providers disponibili dipendono dalla versione del package e possono essere ottenuti con la funzione getDataProviders(). Il client java interno può essere usato come una libreria di API per

lo sviluppo di ulteriori SDMX Providers

Page 12: RJSDMX (Connettori SDMX per Software Statistici)

12

Il client ecb si connette ai web services forniti dallo Statistical Data Warehouse della BCE

Creazione di un client per la BCE

Page 13: RJSDMX (Connettori SDMX per Software Statistici)

13

I nomi da usare per la creazione dei vari client sono gli stessi ottenuti con la funzione getDataProviders()

Creazione di un client per l’OCSE

Page 14: RJSDMX (Connettori SDMX per Software Statistici)

14

La funzione getDataFlows può essere usata con o senza il parametro pattern. Nel primo caso darà in output tutti i data flows disponibili nel provider.

Lista dei data flows disponibili in un provider

Page 15: RJSDMX (Connettori SDMX per Software Statistici)

15

Per ottenere le dimensioni di un data flow si può usare la funzione getDimensions()

Analisi della struttura di un Data Flow

Page 16: RJSDMX (Connettori SDMX per Software Statistici)

16

La funzione getTimeSeries() prende in input una stringa che identifica una time series, e la carica nel workspace, in un oggetto di tipo zoo

Accesso a una time series

Page 17: RJSDMX (Connettori SDMX per Software Statistici)

17

Il parametro id della funzione getTimeSeries è una sequnza di token. Il primo deve corrispondere al nome di un data flow (e.g. EXR). I successivi tokens devono corrispondere ai codici delle dimensioni dello stesso data flow.

e.g. EXR.A.USD.EUR.SP00.A # EXR flow in ECB, tutte le dimensioni specificateREFSERIES.IT.PPPGDP.A # REFSERIES flow in OECD, come sopra

Se non si vogliono specificare valori per alcune dimensioni, si possono usare delle wildcard. In ogni caso comunque il numero di tokens della quey deve corrispondere al numero delle dimensioni

e.g. EXR.*.USD.EUR.SP00.A # La dimensione frequenza non è specificataREFSERIES.ITA.*.A # come sopra

Se si vogliono specificare valori multipli per una dimensione si può usare il simbolo ‘|’ (logical or):

e.g. EXR.M|A.*.EUR.SP00.A # frequenza annuale e mensile, tutte le valuteREFSERIES.ITA|AUS.*.A # tutti i subject, location Italy e Australia

Query language semplificato per la getTimeSeries

Page 18: RJSDMX (Connettori SDMX per Software Statistici)

18

Un esempio di query che ritorna una lista di time series

Accesso a una lista di time series