Sei sulla pagina 1di 18

Linked Open Data

alla Camera dei deputati

Stage
Massimiliano Del Ferraro
1 Febbraio 2013

1
Sommario
• I Linked Open Data (LOD)
• Approccio metodologico utilizzato
• L’architettura del sistema
• Il sottosistema di Data Integration
• L’analisi delle sorgenti informative
• L’ontologia degli atti di indirizzo e controllo
• Le regole di mapping
• I risultati ottenuti

2
Linked Open Data (LOD)

3
Standard e tecnologie coinvolti

4
La metodologia utilizzata

5
I Dataset
• Anagrafica dei deputati, dei senatori e dei membri
non parlamentari del Governo
• Organi parlamentari (Assemblea, Commissioni,
giunte)
• Gruppi parlamentari
• Progetti di Legge
• Atti di indirizzo e controllo (mozioni, interpellanze)
• Dibattiti
• Votazioni
6
Classificazione delle ontologie

Top-Level: descrive concetti indipendenti da un particolare dominio o problema


Domain: descrive la terminologia di un dominio generico
Task: descrive concetti relativi a compiti o attività
Application: è una combinazione o specializzazione di ontologie Task e Domain.

7
Analisi e modellazione
(approccio utilizzato)

● Estrazione di entità e relazioni a partire dagli schema di database (reverse engineering)


● Creazione di gerarchie tra classi “upper concepts”
● Creazione di gerarchie tra classi “lower concepts”
● Integrazione delle gerarchie con I concetti provenienti da “reverse engineering”
● Miglioramento della semantica dei termini, dei vincoli e degli assiomi
● Completamento dell’ontologia

8
Architettura del sistema
Sottosistema di Data Integration

Ontologia Global schema


Dataset
(OWL)
RDF
ocd

Regole di mapping

Sorgenti

SIND AUL Dibattiti Votazioni Testi

9
Architettura completa
Virtuoso Open Source (VOS)
(intercactive) Endpoint SPARQL (processable)

Ontologia Global schema


Dataset
(OWL)
RDF
ocd

Regole di mapping
Data
Integration
System
Sorgenti

SIND AUL Dibattiti Votazioni Testi

10
Ontologia
atti di indirizzo e controllo presentatore
versioneTestoAtto cofirmatario deputato data
legislatura lavori
dibattito
ultimoTestoRiformulato string
rif_leg statoIter tipoAtto
votazione dibattitoAIC
iter
numeroAtto boolean
concluso
attoIndirizzoControllo (AIC)
votazioneAtto testoRiformulato seduta
sedutaPresentazione
trasformatoIn/
trasformatatoDa
attoIndirizzo attoControllo
dataRisposta

indirizzatoA
natura1 natura7 natura9
RispostaOrale RispostaScritta

delegatoARispondere
natura6 natura8 natura0
destinatario

rispostaScritta
conclusoDa natura2 natura5 natura4
governo
parereAtto

natura3
commissioneAssegnataria
CommissioneAssegnataria testoRisposta
rispostaOrale

organo
firmaRisposta
CommissioneAssegnataria

parereGovern parere
intervento membroGoverno
interventoGoverno
string organoGoverno
o
11
Datastore: Virtuoso Open Source

12
Document vs Data
http://www.camera.it http://dati.camera.it

13
Endpoint SPARQL

14
Processo di produzione delle triple
RDF (esempio)
testoRisposta firmaRisposta membroGoverno
Dataset RDF

Regole di mapping

SIND AUL TESTI


Sorgenti
Informative

15
Regole di mapping: un esempio
Query SPARQL sul Global Schema
SELECT ?testo ?ministro
FROM <http://dati.camera.it/ocd/>
WHERE { ?testo a ocd:testoRisposta .
?ministro a ocd:membroGoverno .
?testo ocd:firmaRisposta ?ministro }

Query SQL sullle sorgenti


SELECT createURITestoRisposta(E.NUMERO_ATTO, E.T1135R_ID_LEGISLATURA, T.DATA),
createURIMembroGoverno(I.T1119R_ID_PERSONA, I.T1128D_ID_CARICA, I.T1132R_ID_GOVERNO,
I.T1139R_ID_ORGANO, I.DATA_NOMINA)
FROM SIND.T1207R_EATT E, SIND.T1218R_SIAT S, SIND.T1204R_AIST A, AUL.T1109R_IGOV I, TESTI.ELENCO T
WHERE E.ID_RAMO = ‘C’ and E.ID_FASE >= 2 and E.T1224D_ID_NATURA = 4 and A.T1218R_ID_TIPO =
S.T1246D_ID_TIPO and A.T1218R_ID_FASE_STATO_ATTO = S.T1246D_ID_FASE_STATO_ATTO and
A.T1218R_ID_TIPO = S.T1246D_ID_TIPO and A.T1218R_ID_NATURA = S.T1246D_ID_NATURA and
A.T1218R_ID_STATO = S.T1246D_ID_STATO and A.T1218R_ID_FASE = S.T1246D_ID_FASE and
A.T1218R_ID_ATTO = S.T1207R_ID_ATTO and S.T1207R_ID_ATTO = E.ID_ATTO and A.T1248D_TIT_PARTE =
10 and A.T1248D_ID_MODEL_INTERL = 0 and A.T1248D_ID_RUOLO_PARTE = 11 and
A.T1119R_ID_PERSONA = I.T1119R_ID_PERSONA and (S.DATA_EVENTO between I.DATA_NOMINA and
I.DATA_TERMINE or ( S.DATA_EVENTO >= I.DATA_NOMINA and I.DATA_TERMINE is null )) and
E.NUMERO_ATTO = T.NOMEFILE and E.T1135R_ID_LEGISLATURA = T.LEGISLATURA and T.TIPOLOGIA =
‘risposta’

16
Le triple RDF (esempio)
@prefix ocd: <http://dati.camera/ocd/> .
ocd:testoRisposta.rdf/tr_aic4_00014_16_20080714_1 ocd:firmaRisposta ocd:membroGoverno.rdf/mg33410_3_61_6_20080507
ocd:testoRisposta.rdf/tr_aic4_00022_16_20100908_1 ocd:firmaRisposta ocd:membroGoverno.rdf/mg33230_27_61_1_20080512
ocd:testoRisposta.rdf/tr_aic4_00042_16_20081023_1 ocd:firmaRisposta ocd:membroGoverno.rdf/mg301449_3_61_196_20080507
ocd:testoRisposta.rdf/tr_aic4_00056_16_20081205_1 ocd:firmaRisposta ocd:membroGoverno.rdf/mg302748_5_61_195_20080512
ocd:testoRisposta.rdf/tr_aic4_00124_16_20081007_1 ocd:firmaRisposta ocd:membroGoverno.rdf/mg23880_3_61_198_20080507
ocd:testoRisposta.rdf/tr_aic4_00250_16_20081023_1 ocd:firmaRisposta ocd:membroGoverno.rdf/mg300452_3_61_15_20080512
…..

17
Questioni aperte
• Ontologie leggere o pesanti ?
• Livelli di interoperabilità

18

Potrebbero piacerti anche