SCP: accesso ai dati

Come estrarre quelli correlati al PNRR

Tramite file

Questa modalità è la più semplice: si scarica il file CSV di proprio interesse e si filtra ad esempio tramite codici CIG e CUP.

Si può fare all’interno di quasi tutti gli strumenti in cui è possibile gestire una tabella dati, ma alcuni di questi file hanno dimensioni che potrebbero rendere queste operazione lente. Se si riscontra una particolare lentezza, si consiglia di utilizzare degli strumenti dedicati all’elaborazione e analisi dati, e anche dei formati file più efficienti del CSV (come ad esempio parquet).

Tramite API

Questa modalità è più complessa, perché richiede alcune conoscenze di base sull’accesso ai dati in modalità adeguate all’estrazione e analisi automatica (la cosiddetta machine to machine), ma è più efficace e comoda.

Il Ministero dei Trasporti ha reso i suoi dataset interrogabili, sfruttando le caratteristiche disponibili nel motore del portale (CKAN). Per utilizzare le API e fare le query è disponibile sul sito una mini documentazione (vedi Figura 1).

Mini guida uso API

Figura 1: Mini guida uso API

La sintassi di esempio per una query è (⚠️ qui sotto il ritorno a capo è soltanto per ragioni di leggibilità, non va inserito nell’URL):

https://dati.mit.gov.it/catalog/api/3/action/datastore_search_sql?sql=
SELECT * from "idTabella" WHERE nomeCampo LIKE 'valoreCampo'

Per fare una query sui Bandi, basta quindi recuperare l’id della tabella (è l’ultima parte dell’URL ed è e1d07a87-1866-4def-ae77-f1084eac88e6, vedi esempio sotto), recuperare un codice CIG (ad esempio 918052266A) e costruire un URL come indicato sopra:

https://dati.mit.gov.it/catalog/api/3/action/datastore_search_sql?sql=SELECT * from "e1d07a87-1866-4def-ae77-f1084eac88e6" WHERE cig LIKE '918052266A'

Per leggere l’id di una tabella è sufficiente leggere la parte finale dell’URL, o fare click sul pulsante Data API nella pagina del dataset e leggerlo (vedi immagine sottostante).

Esempio di id tabella

Figura 2: Nell’URL, la parte finale è l’id tabella

È necessario però codificare l’URL, in modo da sostituire gli spazi con %20, le virgolette con %22, l’apice con %27 e l’URL diventa:

https://dati.mit.gov.it/catalog/api/3/action/datastore_search_sql?sql=SELECT%20*%20from%20%22e1d07a87-1866-4def-ae77-f1084eac88e6%22%20WHERE%20cig%20LIKE%20%27918052266A%27

Qui sotto, basta fare click, un esempio di output, ancora una volta in formato JSON.

{
  "help": "https://dati.mit.gov.it/catalog/api/3/action/help_show?name=datastore_search_sql",
  "success": true,
  "result": {
    "sql": "SELECT * from \"e1d07a87-1866-4def-ae77-f1084eac88e6\" WHERE cig LIKE '918052266A'",
    "records": [
      {
        "_id": 79712,
        "_full_text": "'-04':90,137 '-05':96 '-15':91 '-22':138 '-26':97 '-3':127 '/spinapp/it/bandi.page?internalservletactionpath=/extstr2/do/front/procurements/bandodetail.action&internalservletframedest=3&idbando=476329':135 '0.00000':123 '00':93,94,99,100 '012058091':86 '02':92,98 '05678721001':70 '1':110 '13':139 '1412023':1 '2022':89,95,136 '23569628.59000':66 '3987864.40000':122,124 '50.482':141 '50/2016':16 '53':140 '54':10 '60':12 '7':67,101,119 '71315400':126 '8519126':62 '918052266a':102 'accordi':26 'accordo':64,103 'agenzia':72 'ai':6 'aperta':5 'architettura':43 'artt':9 'attrazion':76 'calabria':117 'collaudo':114 'con':28 'conclusion':24 'd.lgs':14 'da':17 'deg':8,77 'del':13 'di':3,25,34,40,56,82,112,113,129 'e':11,38,42,54,60,79 'e.06':45 'e.21':44 'economici':31 'edificazion':52 'edifici':57 'fornitura':128 'gara':4 'geografico':116 'giancarlo':68 'i98i21000110001':125 'ia.02':47 'ia.04':48 'impresa':83 'ingegneria':41 'investimenti':78 'invitalia':71 'itf6':132 'l':75 'la':23,50 'laffidamento':33 'lavori':35 'lo':80 'lotto':108,115 'mastinu':69 'mediant':19 'mim':88 'n':15 'nazional':73 'non':61 'nuova':51 'og1':36,105 'og11':37,106 'operatori':30 'ordinario':63 'per':22,32,49,74 'piattaforma':20 'piu':29 'prestazional':109 'procedura':2 'pubblici':58 'quadro':27,65,104 'realizzarsi':18 'residenziali':59 'riqualificazion':55 'ristrutturazion':53 'rm':85 's.03':46 's.p.a':84 'sensi':7 'servizi':39,111,121,130 'si':87 'sicilia':118 'sub':107 'sviluppo':81 'telematica':21 'v':131 'www.serviziocontrattipubblici.it':134 'www.serviziocontrattipubblici.it/spinapp/it/bandi.page?internalservletactionpath=/extstr2/do/front/procurements/bandodetail.action&internalservletframedest=3&idbando=476329':133",
        "id_gara": "1412023",
        "oggetto_della_gara": "\"PROCEDURA DI GARA APERTA AI SENSI DEGLI ARTT. 54 E 60 DEL D.LGS. N. 50/2016, DA REALIZZARSI MEDIANTE PIATTAFORMA TELEMATICA, PER LA CONCLUSIONE DI ACCORDI QUADRO CON PIU OPERATORI ECONOMICI PER LAFFIDAMENTO DI LAVORI (OG1  OG11) E SERVIZI DI INGEGNERIA E ARCHITETTURA (E.21  E.06  S.03  IA.02  IA.04) PER LA NUOVA EDIFICAZIONE, RISTRUTTURAZIONE E RIQUALIFICAZIONE DI EDIFICI PUBBLICI RESIDENZIALI E NON.\"",
        "numero_gara_anac": "8519126",
        "settore": "Ordinario",
        "modalita_realizzazione": "Accordo quadro",
        "importo_gara": "23569628.59000",
        "num_tot_lotti": "7",
        "rup": "GIANCARLO MASTINU",
        "codice_fiscale_stazione_appaltante": "05678721001",
        "denominazione_stazione_appaltante": "INVITALIA Agenzia nazionale per l'attrazione degli investimenti e lo sviluppo di impresa S.p.A.",
        "provincia_stazione_appaltante": "RM",
        "codice_istat_stazione_appaltante": "012058091",
        "ufficio": null,
        "la_sa_agisce_per_conto_di_altro_soggetto": "Si",
        "soggetto_per_cui_agisce_la_sa": "MIMS",
        "data_pubblicazione_bando": "2022-04-15 02:00:00",
        "data_scadenza_bando": "2022-05-26 02:00:00",
        "id_lotto": "7",
        "cig": "918052266A",
        "oggetto_lotto": "\"ACCORDO QUADRO OG1 - OG11 - SUB - LOTTO PRESTAZIONALE 1  SERVIZI DI DI COLLAUDO  - LOTTO GEOGRAFICO: CALABRIA - SICILIA\"",
        "nr_lotto": "7",
        "somma_urgenza": "No",
        "tipo_appalto": "Servizi",
        "tipo_procedura": null,
        "criterio_aggiudicazione": null,
        "imp_lotto_netto_sicurezza": "3987864.40000",
        "imp_sicurezza": "0.00000",
        "imp_lotto": "3987864.40000",
        "cup": "I98I21000110001",
        "cpv": "71315400-3",
        "categoria_prevalente": "fornitura di servizi",
        "classifica": "V",
        "luogo_esecuzione_istat": null,
        "luogo_esecuzione_nuts": "ITF6",
        "url_bando": "https://www.serviziocontrattipubblici.it/SPInApp/it/bandi.page?internalServletActionPath=/ExtStr2/do/Front/Procurements/bandoDetail.action&internalServletFrameDest=3&idBando=476329",
        "data_pubblicazione_scp": "2022-04-22 13:53:50.482"
      }
    ],
    "fields": [
      {
        "id": "_id",
        "type": "int4"
      },
      {
        "id": "_full_text",
        "type": "tsvector"
      },
      {
        "id": "id_gara",
        "type": "text"
      },
      {
        "id": "oggetto_della_gara",
        "type": "text"
      },
      {
        "id": "numero_gara_anac",
        "type": "text"
      },
      {
        "id": "settore",
        "type": "text"
      },
      {
        "id": "modalita_realizzazione",
        "type": "text"
      },
      {
        "id": "importo_gara",
        "type": "text"
      },
      {
        "id": "num_tot_lotti",
        "type": "text"
      },
      {
        "id": "rup",
        "type": "text"
      },
      {
        "id": "codice_fiscale_stazione_appaltante",
        "type": "text"
      },
      {
        "id": "denominazione_stazione_appaltante",
        "type": "text"
      },
      {
        "id": "provincia_stazione_appaltante",
        "type": "text"
      },
      {
        "id": "codice_istat_stazione_appaltante",
        "type": "text"
      },
      {
        "id": "ufficio",
        "type": "text"
      },
      {
        "id": "la_sa_agisce_per_conto_di_altro_soggetto",
        "type": "text"
      },
      {
        "id": "soggetto_per_cui_agisce_la_sa",
        "type": "text"
      },
      {
        "id": "data_pubblicazione_bando",
        "type": "text"
      },
      {
        "id": "data_scadenza_bando",
        "type": "text"
      },
      {
        "id": "id_lotto",
        "type": "text"
      },
      {
        "id": "cig",
        "type": "text"
      },
      {
        "id": "oggetto_lotto",
        "type": "text"
      },
      {
        "id": "nr_lotto",
        "type": "text"
      },
      {
        "id": "somma_urgenza",
        "type": "text"
      },
      {
        "id": "tipo_appalto",
        "type": "text"
      },
      {
        "id": "tipo_procedura",
        "type": "text"
      },
      {
        "id": "criterio_aggiudicazione",
        "type": "text"
      },
      {
        "id": "imp_lotto_netto_sicurezza",
        "type": "text"
      },
      {
        "id": "imp_sicurezza",
        "type": "text"
      },
      {
        "id": "imp_lotto",
        "type": "text"
      },
      {
        "id": "cup",
        "type": "text"
      },
      {
        "id": "cpv",
        "type": "text"
      },
      {
        "id": "categoria_prevalente",
        "type": "text"
      },
      {
        "id": "classifica",
        "type": "text"
      },
      {
        "id": "luogo_esecuzione_istat",
        "type": "text"
      },
      {
        "id": "luogo_esecuzione_nuts",
        "type": "text"
      },
      {
        "id": "url_bando",
        "type": "text"
      },
      {
        "id": "data_pubblicazione_scp",
        "type": "text"
      }
    ]
  }
}
Torna in cima