italia/daf-jsoncsv2rdf-pipeline

Implement existing CSV / JSON datasets in RDF

Closed this issue · 7 comments

ruphy commented

Write a transformation pipeline that transforms CSV and /or JSON data published by Public Administrations to Linked Open Data, following the recommendations of the National Guidelines for Valuing Public Sector Information (Linee Guida Nazionali per la Valorizzazione del Patrimonio Informativo Pubblico). You may start from the CSV/JSON available in the national data catalogue dati.gov.it. In the transformation pipeline, please prefer W3C standards such as “Generating RDF from Tabular Data on the Web” and open source tools. Obviously, in the process, write a few good mapping files, possibly using the ontologies of OntoPA when applicable, or other national ontologies (e.g., Cultural-ON, CPSV-AP_IT) or standard ontologies of the Web in the case national ones are not available for the specific domain. Make available the detailed description of the mapping process (with a proposal for persistent URIs), tools and mapping file used in your Github repository, so that others can collaborate.

Supponiamo di voler trasformare il dataset CSV “I 19 luoghi della Cultura” della città di Matera in RDF.
Per farlo si suggerisce di seguire le regole standard del W3C sopra menzionate per trasformare il CSV in un file RDF (esempio di tool open source che fa questo è https://github.com/anuzzolese/csv2rdf) . Tuttavia questo non è sufficiente. L’ontologia nazionale di riferimento per I luoghi della cultura è Cultural-ON. E’ necessario capire come questa è strutturata ed è necessario capire come mappare i dati del CSV sulle classi e proprietà dell’ontologia producendo un RDF finale che sia allineato all’ontologia stessa. Al termine si chiede di pubblicare tutti i passaggi del processo suggerendo come inserire questo nell’ambito del DAF prestando attenzione a garantire URI persistenti (esempio si può guardare al servizio w3id.org, come suggerito dalle linee guida nazionale per la valorizzazione del patrimonio informativo pubblico, per la generazione di URI persistenti).

@giorgialodi in questa prima fase (v. anche pull request), abbiamo fatto delle mappature quasi puramente di esempio, dando la precedenza alla pipeline ed alla proposta di alcuni tool: nei prossimi giorni completeremo le mappature di esempio, dando più attenzione all'aspetto ontologico. Ad esempio, proverò a lavorare sul dataset che menzioni o su altri simili, usando Cultural-ON.

@federicomorando perfetto! Grazie mille per il supporto! L'aspetto ontologico è importante per abilitare collegamenti semantici e ragionamenti sui dati :-) L'esempio l'ho fatto solo per spiegare un po' meglio l'issue ma siete liberi di usare anche altre tipologie di dati e altre ontologie della network OntoPA (o del Web dei Dati).

@giorgialodi sì, sì: tutto chiaro e condiviso. L'esempio va bene, perché riguarda un'ontologia già matura.
Avevo scritto il commento soprattutto per dire che le mappature che abbiamo messo come esempio sono solo cose che non generano errori e mostrano il funzionamento della pipeline, ma non esempi di modellazione da replicare :-) se volete aspettare ad accettare la pull request, contiamo di lavorarci nei prossimi giorni, entro la scadenza della track "Wise Turtle" (che mi sembra la sede migliore per mandare mappature scritte sostanzialmente in turtle ;-)).

@federicomorando sì vero quell'ontologia è più matura sicuramente delle altre che si stanno costruendo. Ok per il resto, mi sembra un buon programma! Grazie!

@ruphy rispetto ai tool integrati nella pipeline, tarql è noto (v. http://tarql.github.io/); jarql, è un tool che abbiamo sviluppato noi: più info qui: http://jarql.linked.solutions/
Rispetto a jarql, lavoreremo sicuramente al miglioramento del tool entro la scadenza del Wise Turtle, per gestire alcuni file JSON che oggi generano problemi

Non so se questo è il posto più appropriato per il seguente commento, ma ci provo qui, casomai lo spostiamo. Secondo me varrebbe la pena prendere le ontologie di riferimento (e.g., CulturalON) e costruire degli strumenti sia per inserimento dati da (e.g., delle form, dei CMS preimpostati con dei tipi di dati/pagina), sia per la conversione di dati esistenti (e.g., dei template CSV o Excel). Successivamente si possono scrivere dei convertitori (usando cose come TARQL, JARQL, GRefine) che abbiano per input questi formati intermedi (ovviamente possono essere aggiunti ad altri convertitori più diretti, per utenti avanzati). Questi strumenti possono essere costruiti anche in modo automatico (o in gran parte automatico), partendo dalle ontologie, o anche da queste + ulteriori specifiche formali.

Perché questo livello intermedio? Perché molte persone coinvolte, anche con un po' di conoscenze tecniche, fuggono non appena gli nomini ontologie o RDF, per non parlare di roba tipo TARQL, e lo dice uno che si occupa di queste cose e le usa tutti i giorni da un 15 anni.