mercoledì 1 febbraio 2017

Accesso REST API

Accesso REST API

Per accedere al portale Open Data dell'UE si può utilizzare il sistema REST API. Tutte le funzioni di base del portale sono disponibili mediante l'API, che, oltre a includere le possibilità dell'interfaccia web, ne prevede anche altre. Le informazioni recuperate possono essere utilizzate con il codice esterno che chiama il portale API.
Il portale API per le attività di programmazione è disponibile al seguente URL: http://data.europa.eu/euodp/data/api/
Il portale Open Data dell'UE utilizza un'applicazione di CKAN, sul cui sito è disponibile una documentazione sull'API.
Le richieste e le risposte sono in formato JSON (specificato in RFC 4627). Di seguito figurano alcuni esempi di utilizzo del sistema REST API nella vostra applicazione.
Considerate le caratteristiche specifiche dell'infrastruttura dell'Ufficio delle pubblicazioni, tutte le richieste API che per definizione sarebbero disponibili con il metodo GET del protocollo HTTP, devono invece essere effettuate con il metodo POST.

Strumenti per utilizzare il sistema REST API

Clienti e librerie HTTP generici

curl è una riga di comando http generica che può essere utilizzata per interrogare l'API. Esistono possibilità di forzare l'uso di curl utilizzando richieste POST, ad esempio aggiungendo l'opzione -'d' anche in un elenco vuoto. L'uso è illustrato negli esempi di query riportati di seguito.
Quasi tutti i browser più diffusi hanno estensioni che permettono di formulare query rivolte all'API dal browser stesso, per es. Postman di Google Chrome o RESTClient di Mozilla Firefox.
È possibile utilizzare la maggior parte dei linguaggi di programmazione per inviare una query all'API, a condizione che sia presente una componente connettiva HTTP come Jersey per Java.

Strumenti dedicati

Per agevolare l'uso del sistema REST API sono disponibili diversi strumenti specifici:

Esempi di query

Ottenere un elenco dei set di dati in JSON
curl http://data.europa.eu/euodp/data/api/action/package_list -d'{}'
Ottenere un elenco delle tag in JSON
curl http://data.europa.eu/euodp/data/api/action/tag_list -d'{}'
Ottenere una descrizione di un determinato set di dati in JSON
curl http://data.europa.eu/euodp/data/api/action/package_show -d'{"id": "dgt-translation-memory"}'
Cercare set di dati o risorse corrispondenti a una ricerca
curl http://data.europa.eu/euodp/data/api/action/package_search -d'{"q": "forest"}'

Endpoint SPARQL

Un altro modo per accedere al portale Open Data dell'UE è l'endpoint SPARQL a lettura automatica che permette di effettuare ricerche sulle descrizioni RDF dei set di dati.
Come mostrato sulla pagina "Linked data", è disponibile un'interfaccia grafica utente per inserire le query SPARQL.
Al seguente URL è disponibile un endpoint a lettura automatica per le attività di programmazione: http://data.europa.eu/euodp/sparqlep
Le specifiche di SPARQL sono consultabili sul sito W3C: http://www.w3.org/TR/rdf-sparql-query/. I modelli utilizzati per descrivere i set di dati catalogati sul portale Open Data dell'UE sono descritti sulla pagina "Linked Data" alla voce "Vocabolario di metadati".

Strumenti e librerie

Per creare applicazioni capaci di effettuare query sull'endpoint del portale Open Data dell'UE è possibile utilizzare librerie e applicazioni di terzi. Di seguito si riportano alcuni esempi.

Client SPARQL

  • Sesame client è un client SPARQL per Windows con un'interfaccia grafica utente.
  • Twinkle è un'applicazione Java cross-platform che offre un'interfaccia utente per effettuare query SPARQL su endpoint remoti.

Librerie

Di seguito sono elencate alcune delle librerie, ripartite per linguaggio di programmazione, da utilizzare per creare applicazioni con i dati del portale Open Data dell'UE.
  • Java
    • Jena è un progetto Apache. È un framework java open source per creare applicazioni per il web semantico e i Linked Data.
    • OpenRDF Sesame offre un API Java per gestire e cercare dati RDF.
  • C
    • Redland è un set di librerie C che forniscono assistenza per RDF e SPARQL.
  • Javascript
    • Hercules propone una libreria JavaScript per effettuare query in remoto su endpoint SPARQL. Consente di creare applicazioni web complesse con le informazioni ottenute dal portale Open Data dell'UE.
  • PHP
    • EASYRDF è una libreria PHP che facilita l'utilizzo di query SPARQL nelle applicazioni PHP.
  • Python
    • RDFLib propone una serie di librerie python per integrare i dati RDF nelle applicazioni python.

Nessun commento:

Posta un commento