Dostęp do otwartych danych UE
EUROPAPortal otwartych danych UEDla programistów
Menu

Dla programistów

Zachęcamy do wykorzystywania danych dostępnych w Portalu Otwartych Danych UE do tworzenia własnych aplikacji. Autorzy oprogramowania mają do wyboru dwa interfejsy.

REST API

Pierwsza metoda to interfejs programowania aplikacji REST API. Oferuje on wszystkie najważniejsze funkcje dostępne za pośrednictwem API oraz wiele innych (wszystkie działania związane z interfejsem). Pobrane informacje można wykorzystać przy pomocy kodu zewnętrznego, który komunikuje się z API.

API dla twórców oprogramowania dostępny jest pod adresem: http://data.europa.eu/euodp/data/api/

Portal Otwartych Danych UE jest oparty na systemie CKAN – na platformie CKAN znajdują się dokumenty dotyczące API.

Format wiadomości zarówno dla treści pytań, jak i odpowiedzi, to JSON (określony w dokumencie RFC 4627). Poniżej podano klika przykładów zastosowań REST API przy tworzeniu aplikacji.

Z uwagi na specyfikę infrastruktury Urzędu Publikacji wszystkie żądania interfejsu API, które z definicji byłyby dostępne za pomocą metody GET protokołu HTTP, muszą być wysyłane metodą POST.

Narzędzia potrzebne do wykorzystania REST API

Klienci i biblioteki HTTP

cURL to biblioteka programistyczna korzystająca z trybu wiersza poleceń, za pomocą której można wysyłać zapytania do API. Istnieje możliwość wymuszenia na curl używania żądań POST, na przykład poprzez dodanie opcji danych – „d”, nawet w przypadku pustej listy. To narzędzie zostało wykorzystane w przykładowych zapytaniach poniżej.

Dla większości popularnych przeglądarek istnieją rozszerzenia, które pozwalają na tworzenie zapytań do API w przeglądarce, jak na przykład Postman dla Google Chrome czy RESTClient dla Mozilla Firefox.

Zapytania do API można tworzyć w większości języków programowania, o ile istnieje kompatybilny składnik połączenia, jak na przykład Jersey w przypadku Javy.

Narzędzia

Opracowano szereg narzędzi ułatwiających korzystanie z interfejsu REST API. Wszystkie te narzędzia są dostępne na Github i mogą zostać rozbudowane w celu opracowania rozwiązań niestandardowych we wspomnianych językach programowania.

Przykładowe zapytania

Utwórz listę zbiorów danych w formacie JSON

curl http://data.europa.eu/euodp/data/api/action/package_list -d'{}'

Utwórz listę tagów w formacie JSON

curl http://data.europa.eu/euodp/data/api/action/tag_list -d'{}'

Utwórz opis konkretnego zbioru danych w formacie JSON

curl http://data.europa.eu/euodp/data/api/action/package_show -d'{"id": "dgt-translation-memory"}'

Szukaj zbiorów danych lub zasobów odpowiadających zapytaniu

curl http://data.europa.eu/euodp/data/api/action/package_search -d'{"q": "forest"}'

SPARQL

Kolejnym sposobem na dostęp do Portalu Otwartych Danych UE jest umożliwiająca przetwarzanie maszynowe tzw. końcówka SPARQL, która pozwala na tworzenie zapytań dotyczących opisów zbiorów danych w formacie RDF.

Na stronie „Powiązane dane” przedstawiono graficzny interfejs użytkownika, służący do tworzenia zapytań SPARQL.

Końcówka umożliwiająca przetwarzanie maszynowe dla twórców oprogramowania dostępna jest pod adresem: http://data.europa.eu/euodp/sparqlep

Specyfikacje techniczne dotyczące SPARQL można znaleźć na stronie W3C: http://www.w3.org/TR/rdf-sparql-query/. Modele wykorzystywane do opisu zbiorów danych skatalogowanych w Portalu Otwartych Danych UE przedstawiono na stronie „Powiązane dane” w akapicie „Słownik metadanych”.

Narzędzia i biblioteki

Do programowania aplikacji, które będą w stanie tworzyć zapytania za pomocą końcówki w Portalu Otwartych Danych UE, można wykorzystywać zewnętrzne biblioteki i aplikacje. Poniżej podano przykłady takich rozwiązań.

Klienci SPARQL

  • Sesame client to narzędzie Windows SPARQL z graficznym interfejsem użytkownika.
  • Twinkle to obejmująca różne platformy aplikacja dla Javy z interfejsem użytkownika umożliwiającym tworzenie zapytań SPARQL dla końcówek zdalnych.

Biblioteki

Poniżej przedstawiono listę bibliotek uporządkowanych według języka programowania, które można wykorzystać przy tworzeniu aplikacji w oparciu o dane z Portalu Otwartych Danych UE.

  • Java
    • Jena jest projektem Apache. To środowisko typu open source dla Javy służące do budowania aplikacji Semantic Web i Linked Data.
    • OpenRDF Sesame umożliwia za pomocą API dla Javy przetwarzanie i pobieranie danych w formacie RDF.
  • C
    • Redland to zbiór bibliotek języka C oferujących pomoc w zakresie obsługi RDF i SPARQL.
  • JavaScript
    • Hercules to biblioteka JavaScript umożliwiająca wysyłanie zapytań do zdalnych końcówek SPARQL. Dzięki niej w oparciu o dane z Portalu Otwartych Danych UE można tworzyć aplikacje webowe z bogatym, dynamicznym interfejsem.
  • PHP
    • EASYRDF to biblioteka ułatwiająca wykorzystanie zapytań SPARQL w aplikacjach w PHP.
  • Python
    • RDFLib to zbiór bibliotek w języku Python, które umożliwiają włączanie danych w RDF do aplikacji w Pythonie.

Końcówka SPARQL: przykładowe zapytania

Przykłady zapytań, jakie można wykonywać, znajdują się na stronie „Powiązane dane” Portalu Otwartych Danych UE.