Title: RJSDMX
1RJSDMX (Connettori SDMX per Software Statistici)
Banca DItalia Area Ricerca Economica
Attilio Mattiocco
2Cosè RJSDMX
- RJSDMX è un package per R, sviluppato dalla
Banca dItalia, per - laccesso 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
3I Connettori SDMX
In futuro
SDMX Providers
SDMX Connectors
In futuro
SDMX client
4Ragioni dei Connettori SDMX
La prima fase di un tipico processo di calcolo
consiste nellacquisizione dei dati oggetto
dellanalisi. Questa operazione, specialmente
nel caso di dati esterni allorganizzazione, è
spesso molto inefficiente e implica operazioni
manuali (spesso ripetitive) o complessi processi
di replica su sistemi interni.
5Ragioni dei Connettori SDMX
- Luso combinato di SDMX e Web Services permette
di semplificare - notevolmente il passo di acquisizione di dati
esterni. - Si consideri, in particolare, lincremento di
efficienza nel caso di processi - ripetitivi
- 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
6Larea Ricerca Economica della Banca dItalia
7Roadmap
- 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 dellinfrastruttura come Open Source,
in un progetto indipendente - o allinterno di una più generale
infrastruttura SDMX
8Grazie! attilio.mattiocco
diana.nicoletti _at_
bancaditalia.it gianpaolo.lopez
9Backup
10Load RJSDMX
Il package viene caricato nel workspace insieme
alle sue dipendenze
11Lista 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
12Creazione di un client per la BCE
Il client ecb si connette ai web services forniti
dallo Statistical Data Warehouse della BCE
13Creazione di un client per lOCSE
I nomi da usare per la creazione dei vari client
sono gli stessi ottenuti con la funzione
getDataProviders()
14Lista dei data flows disponibili in un provider
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.
15Analisi della struttura di un Data Flow
Per ottenere le dimensioni di un data flow si può
usare la funzione getDimensions()
16Accesso a una time series
La funzione getTimeSeries() prende in input una
stringa che identifica una time series, e la
carica nel workspace, in un oggetto di tipo zoo
17Query language semplificato per la getTimeSeries
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 specificate REFSERIES.IT.PPP
GDP.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 è specificata REFSERIES
.ITA..A come sopra Se si vogliono
specificare valori multipli per una dimensione si
può usare il simbolo (logical
or) e.g. EXR.MA..EUR.SP00.A frequenza
annuale e mensile, tutte le valute REFSERIES.ITA
AUS..A tutti i subject, location Italy e
Australia
18Accesso a una lista di time series
Un esempio di query che ritorna una lista di time
series