Користувачам
Що таке відкриті дані?
Закон України «Про доступ до публічної інформації» №
Публічна інформація у формі відкритих даних — це публічна інформація у форматі, що дозволяє її автоматизоване оброблення електронними засобами, вільний та безоплатний доступ до неї, а також її подальше використання.
Розпорядники інформації зобов’язані надавати публічну інформацію у формі відкритих даних на запит, оприлюднювати і регулярно оновлювати її на єдиному державному веб-порталі відкритих даних та на своїх веб-сайтах.
Публічна інформація у формі відкритих даних є дозволеною для її подальшого вільного використання та поширення.
Будь-яка особа може вільно копіювати, публікувати, поширювати, використовувати, у тому числі в комерційних цілях, у поєднанні з іншою інформацією або шляхом включення до складу власного продукту, публічну інформацію у формі відкритих даних з обов’язковим посиланням на джерело отримання такої інформації.«
Які існують формати даних?
Відповідно до Положення про набори даних, які підлягають оприлюдненню у формі відкритих даних, затвердженого постановою Кабінету Міністрів України від 21.10.2015 № 835 визначено наступні
формати для оприлюднення публічної інформації у формі відкритих даних:
Тип даних |
Формат даних |
Текстові дані |
TXT, RTF, ODT*, DOC(X), (X)HTML* |
Структуровані дані |
RDF*, XML*, JSON*, CSV*, XLS(X), ODS*, YAML* |
Графічні дані |
GIF*, TIFF, JPG (JPEG)*, PNG* |
Відеодані |
MPEG, MKV, AVI, FLV, MKS, MK3D |
Аудіодані |
MP3, WAV, MKA |
Дані, розроблені з використанням програми Macromedia Flash |
SWF, FLV |
Архів даних |
ZIP*, 7z*, Gzip*, Bzip2* |
Геопросторові дані |
GeoTIFF, SHP, DMF, MID/MIF, DXF, ХML, GeoJSON, GPX, LOC, ARINC, AIXM. |
Під час створення нових наборів даних забезпечується використання відкритих форматів даних (формати з позначкою «*» в таблиці) та структурованих даних (формати RDF, XML, JSON, CSV).
Як забрати набір даних (API)?
Для того, щоб отримати доступ до набору даних черех API необхідно:
- Зайти під паролем користувача та знайти відповідний набір даних.
- Внизу на сторінці набору даних в таблиці «Додаткової інформації» знайти «Ідентифікаційний номер набору даних», наприклад, 1c7f3815-3259-45e0-bdf1-64dca07ddc10.
- Після цього зробити запит API за адресою https://data.gov.ua/api/3/action/package_show?id=Ідентифікаційний-код-набору; наприклад
https://data.gov.ua/api/3/action/package_show?id=1c7f3815-3259-45e0-bdf1-64dca07ddc10. Цей запит поверне всю мета-інформацію про набір даних та його ресурсні файли.
- Далі, в отриманому JSON знайти масив «resources», останній запис якого буде найновішим ресурсом з набору даних.
Беремо значення id цього ресурсу та робимо запит до функції API https://data.gov.ua/api/3/action/resource_show?id=ID-ресурсу; наприклад https://data.gov.ua/api/3/action/resource_show?id=b0476139-62f2-4ede-9d3b-884ad99afd08. - Отримаємо JSON масив, який містить інформацію про ресурс. Беремо з нього поле «url», в якому є посилання на файл з ресурсом, наприклад «https://data.gov.ua/dataset/b244f35a-e50a-4a80-b704-032c42ba8142/resource/b0476139-62f2-4ede-9d3b-884ad99afd08/download/15-ufop.zip»
Як використати SPARQL пошук?
SPARQL (SPARQL Protocol and RDF Query Language) — це мова запитів, що використовується для витягування і маніпулювання даними, збереженими в форматі RDF (Resource Description Framework).
Модуль забезпечує можливість взаємодії Порталу з іншими веб-ресурсами. Завдяки SPARQL пошуку ведеться пошук за метаданими за межами Порталу.
Портал підтримує можливість пошукових запитів до метаданих на основі технології SPARQL 1.1.
Відправити SPARQL запит, переглянути результати пошуку та експортувати їх у серіалізаціях RDF (RDF/XML,Turtle) та у відкритих машиночитаних форматах (CSV, JSON) можна на сторінці модуля SPARQL пошуку.
Основні Концепції SPARQL
SPARQL-запити складаються з наступних основних частин:
- PREFIX: Визначає простори імен, щоб скоротити URI.
- SELECT: Вказує змінні, які потрібно повернути.
- WHERE: Містить шаблони трійок для відповідності з RDF даними.
- FILTER: Дозволяє додатково фільтрувати результати.
Приклади Запитів
Простий Запит
PREFIX foaf:
SELECT ?name
WHERE { ?person foaf:name ?name . }
Цей запит витягує імена всіх осіб.
Запит з Фільтром
PREFIX foaf:
SELECT ?name
WHERE { ?person foaf:name ?name.
FILTER (lang(?name) = "en") }
Цей запит повертає лише ті імена, які мають англійську мовну мітку.
Розширені Запити
Об’єднання (UNION)
PREFIX foaf:
SELECT ?name
WHERE { { ?person foaf:givenName ?name . }
UNION { ?person foaf:surname ?name . } }
Цей запит повертає імена та прізвища осіб.
Агрегати та Групування
PREFIX foaf:
SELECT (COUNT(?person) AS ?count)
WHERE { ?person foaf:name ?name . }
Цей запит рахує кількість осіб у базі даних.
Додаткові Ресурси
Для більш детальної інформації можна звернутися до ресурсів:
- [Learn SPARQL](https://sparql.dev)
- [SPARQL By Example](https://www.w3.org)