Dati open nelle tue app
Reactive include un servizio dati open con 240 dataset pubblici italiani: vocabolari ufficiali, legislazione statale, prezzi dei carburanti, gare pubbliche, popolazione e confini per comune, anagrafica delle Pubbliche Amministrazioni. Ogni app li interroga con tre direttive; qui sotto li esplori dal vivo, in sola lettura — nessun dato dell'utente lascia il dispositivo.
La mappa dei confini
Coropletica dal vivo sui confini ISTAT: scegli il livello e la metrica, la mappa si disegna interrogando il servizio. Passa il mouse per il valore, clicca una regione per scendere ai suoi comuni.
Le relazioni tra le tabelle
Come si collegano i dati: ogni tabella di fatti è agganciata alle altre da una chiave condivisa — il codice ISTAT del comune, il codice fiscale dell’ente, l’id dell’impianto. Cerca un nodo, clicca per metterlo a fuoco e isolarne il vicinato, spegni le chiavi che non ti interessano; il doppio clic apre la scheda nel catalogo.
I nodi arrotondati sono le chiavi di join; i rettangoli le tabelle (solo quelle collegate). Clic su un nodo = a fuoco il suo vicinato; doppio clic su una tabella = la sua scheda nel catalogo; le chips sopra spengono e accendono le chiavi. Trascina per spostarti, rotella per lo zoom.
Il catalogo
Ogni tabella del warehouse, dal vivo: descrizione, colonne, anteprima delle righe e uno snippet ::od-query pronto da incollare in un’app.
Interroga i dati
Una SELECT in sola lettura sul servizio. Nessun dato tuo lascia il dispositivo; il risultato è una tabella, e con un clic diventa una direttiva ::od-query.
Come interrogarlo dalle tue app
Tutto quello che vedi qui sopra lo fanno tre direttive, dentro qualunque app Reactive:
::od-query{into="rows" sql="SELECT …"}— una SELECT sul servizio, le righe finiscono in una collezione (tabelle, grafici, mappe, Python). I{#chiave}nell'SQL sono parametri reattivi: la query si riesegue quando cambiano.::od-search— ricerca semantica del catalogo; contable="lex_atti",table="anac_cig"otable="corte_costituzionale"cerca tra le righe (norme, gare, sentenze della Consulta), con una query pronta da copiare. Nel catalogo qui sopra le tre tabelle sono contrassegnate dal badge ✦ Ricerca semantica.::od-datasets{into}— l'elenco del catalogo in una collezione.
::od-search{}
::od-query{into="comuni" sql="SELECT LABEL_COMUNE_IT AS nome, SIGLA_AUTOMOBILISTICA AS sigla
FROM voc_istat_cities
WHERE CODICE_PROVINCIA = '015' AND DATA_FINE_VALIDITA = '31-12-9999'"}
:::table{path="comuni"}
| {nome} | {sigla} |
:::Il servizio espone GET /datasets (il catalogo), POST /query (una sola SELECT, LIMIT forzato a 10000, timeout 10s) e POST /search (ricerca semantica). La geometria dei confini è servita come GeoJSON [lon, lat] nella colonna geojson, pronta per Leaflet e per la direttiva :::map (congeojson= e fill= disegna una coropletica). L'ultima risposta buona resta in cache nel browser: l'app è consultabile anche offline. E l'assistente AI conosce il catalogo — chiedigli «una mappa della densità di popolazione per comune» e la query la scrive lui.