Почему открытые данные никому не нужны

Habrahabr 2

В процессе работы над проектом для открытых данных пришлось изучить множество государственных источников данных. Это и федеральные порталы и муниципальные ресурсы. Вот наиболее известные источники открытых данных:

У всех этих ресурсов одни и те же болезни. Вот они:

  • Невалидность данных.
  • Разрозненность данных и отсутствие стандартов.
  • Отсутствие единого механизма поиска.
  • Отсутствие API для доступа к данным.

Этого достаточно чтобы отбить желание пользоваться ими и данными размещенными на них. Теперь подробнее по каждому пункту и что с этим делать.

Невалидность данных

Из статистики по документам data.gov.ru видно что большая часть данных размещены в CSV-формате:

И это огромная проблема. Дело в том что большая часть CSV-файлов имеют невалидный формат. В CSV легко допустить ошибку, а если пользователь не разбирается в стандарте, то вероятность ошибки близка к 100%. И так, какие ошибки встречаются чаще всего:

1 местолишние кавычки. Это бич всех CSV данных. Неправильная кавычка может сломать весь документ.

Пример: Реестр лицензий на фармацевтическую деятельность Новгородской области первая же строка:

"Фармацевтическая деятельность","ООО ГЕЛИОС"",...

2 месторазное количество колонок в строках данных.

Пример: государственный реестр лекарственных средств

regnumber,regdate,enddate,cancellationdate,nameregcertificate,country,tradename,internationalname,formrelease,stages,barcodes,normativedocumentation,pharmacotherapeuticgroup

 П N009886,28.04.2011,,,,"ООО ""Валеант""",Россия,Бронхинол,,~,,"Производство готовой лекарственной формы,Херкель Б.В., Nobelweg 6, 3899 BN Zeewolde, the Netherlands, Нидерланды
",,"П N009886-280411,2011,Бронхинол; 
",отхаркивающее средство растительного происхождения

Сопоставляем заголовок и данные, получаем:

regnumber = П N009886
regdate = 28.04.2011
enddate =
cancellationdate =
nameregcertificate =
country = ООО "Валеант"
tradename = Россия
internationalname = Бронхинол
...

80% CSV-файлов приходится править перед использованием. Это не большая проблема для небольших и редко меняющихся наборов данных. Но если набор в сотню тысяч строк и обновляется раз в неделю, то это большая проблема.

Отсюда возникает вопрос, зачем использовать CSV?

Разрозненность данных и отсутствие стандартов

Каждая служба публикует данные в произвольном виде.

Например это заголовки колонки из CSV-файла перечня карантинных зон:

"Название карантинного организма",
"Административный район",
"Площадь в пределах установленной карантинной фитосанитарной зоны (га)",
"№ и дата приказа об установлении карантинной фитосанитарной зоны Представление в орган исполнительной власти субъекта РФ (№ и дата письма)",
"Представление в орган исполнительной власти субъекта РФ (№ и дата письма)",
"Решение органа исполнительной власти субъекта РФ о наложении карантина (№ и дата)",
"Территориальное управление"

Геокоординаты могут быть представлены в виде 2 колонок, в одной колонке через запяую или в GeoJSON.

А вот несколько вариантов представления списков:

"№ 223од от 02.09.2010            № 277од от 29.09.2011       № 136од от 14.10.2009        № 556од от 02.10.2013              № 452од от 19.10.2012"
"4 номера: 3 апартамента, 9 люксов, 2 однокомнатных двухместных улучшенных, 4 одноместных, 37 двухместных номеров"
"OVDPhone": [
    { "PhoneOVD": "(495) 601-05-36" },
    { "PhoneOVD": "(495) 601-05-37" }
]

Ко всему прочему данные разбросаны по разным ресурсам:

Как узнать что это официальные сайты? И почему бы не публиковать данные в одном месте?

Отсутствие единого механизма поиска

Из-за разрозненности данных, нет возможности осуществить поиск по всем государственным источникам открытых данных. Видимо не хватает национального поисковика по открытым данным…

Отсутствие API для доступа к данным

Чтобы использовать данные в своем проекте их нужно скачать. И в дальнейшем самому отслеживать их изменение и актуализировать. Это сопряжено со значительными сложностями для больших наборов данных. Избежать этих сложностей можно если не скачивать данные, а использовать их через API. Для этого API должен предоставлять такую функциональность, которой было бы достаточно для выполнения любой задачи по работе с данными.

Того API который есть у некоторых ресурсов (например data.mos.ru) не достаточно для полноценной работы с данными. Плюс они не достаточно надежы для использования в реальных проектах.


Все это приводит к тому что открытые данные есть, но судя по количеству скачиваний на data.gov.ru ими пользуются единицы.

Чтобы раскрыть весь потенциал открытых данных они должны быть доступны в максимально удобном для использования виде. Чтобы сразу начать ими пользоваться, а не тратить время на приведение их к корректному виду.

Как можно исправить ситуацию

ИМХО, ресурс аналогичный GitHub но для данных дал бы сильный толчок в развитии открытым данным.

Да, есть например data.world, но он пока не имеет всей той функциональности которая сделала бы его GitHub'ом для данных. Какими характеристиками должен обладать ресурс:

  • Визуализация — возможность визуализировать данные так как хочет автор и пользователи, а не так как это сделает система.
  • Стандартизованность — возможность задать структуру данных, отклонение от которой выдаст ошибку и не позволит загрузить данные.
  • API и интеграция — богатый API и возможность интеграции с различными источниками данных.
  • Социальность — обсуждение, оценка и рецензирование данных сообществом.
  • Международность — данные не должны размещаться на серверах в какой-то одной стране, чтобы избежать их блокирования со стороны государства.

Уверен что в скором времени такой ресурс появится и открытые данные займут значимое место в жизни каждого человека.