Ivan Begtin
7.98K subscribers
1.8K photos
3 videos
101 files
4.51K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
Download Telegram
Почему некоторых особенно крупных порталов с данными нет в Dateno? Например, европейский портал data.europe.eu [1] кажется очень большим. Там более чем 1.8 миллиона датасетов со всех стран входящих в Европейский союз, там есть API через которое их можно выкачать и выглядит как "надо брать", проиндексировать его и сразу индекс сильно расшириться.

Всё так, за несколькими но, и очень существенными.

Проблема прослеживаемости
Data.europe.eu - это агрегатор, причём агрегатор агрегаторов. Потому что во многих европейских странах данные публикуются на городских/районных порталах, собираются на национальных и далее в индексируются в общеевропейский. В результате прослеживаемость до первоисточника и часть метаданных теряются.

Вот наглядный пример. Набор данных Miljöfarliga verksamheter (Экологически опасные виды работ) на портале данных шведского города Malmo [2] попадает на шведский национальный портал dataportal.se [2] и оттуда аггрегируется в общеевропейский [3]. В оригинальном источнике у всех ресурсов указана лицензия cc0-1.0, а в национальном и общеевропейском лицензия не указана. Также как и нет цепочки прослеживаемости до первоисточника.

Проблема полноты
На европейском портале сейчас агрегируются данные с национальных порталов открытых данных и из геокаталогов по программе INSPIRE. Для агрегации используются стандарты DCAT-AP, расширение INSPIRE для геокаталогов, в основном, на базе Geonetwork и стандарт SPARQL и расширение API для CKAN. Городские, региональные, муниципальные, научные и иные каталоги данных не поддерживающие эти стандарты туда не попадают.
В этом есть некое характерное отличие европейского портала открытых данных от, к примеру, порталу открытых данных США где более 80% всех данных - это научные данные и геоданные. В Европейском портале научных данных нет совсем, а геоданные составляют от 60% до 70% всех данных. В Евросоюзе научные данные собираются на портале OpenAIRE и в data.europe.eu не попадают. Практически все источники данных которые в data.europe.eu собираются есть и в Dateno.

Проблема качества
В европейском портале данных только около 150-180 тысяч наборов данных имеют разметку по типу используемой лицензии. Это очень, я бы даже сказал, совсем мало, максимум 10% от общего числа данных, при том что зная природу порталов открытых данных откуда агрегируются данных можно было бы идентифицировать лицензии гораздо эффективнее. Внутри Dateno сейчас идентифицируются 40 лицензий и условий использования по более чем 800 правилам

В целом картина складывается так что в каком-то смысле европейский портал можно рассматривать как конкурент для Dateno, а не как источник данных. Единственные значимые там характеристики - это оценка качества метаданных по их методологии и отметки что наборы данных относятся к особо ценным. Но первое можно оценивать самостоятельно, а второе содержится в метаданных первоисточников.

Важная характеристика европейского портала в попытках получить хороший поисковик выставляя высокие требования к первоисточникам которые должны соблюсти определённые стандарты.

В отличие от него в Dateno агрегируется всё что хоть как-то напоминает каталоги данных и чьи метаданные можно стандартизировать под описание схожее с DCAT, как бы оно не было в оригинале.

Ссылки:
[1] https://data.europa.eu
[2] https://ckan-malmo.dataplatform.se/dataset/miljofarliga-verksamheter
[3] https://www.dataportal.se/datasets/290_5852/miljofarliga-verksamheter
[4] https://data.europa.eu/data/datasets/https-ckan-malmo-dataplatform-se-dataset-5249aa0b-6528-43ef-880f-172adac8515b?locale=en
[5] https://github.com/commondataio/cdi-licensemapper

#opendata #data #datasets #dateno #europe
В качестве примера живых данных чтобы проверит Duckdb, попробовал его на одном из слепков индекса Dateno.

Вот в цифрах и фактах:
- оригинальный формат JSONL, слепок данных без файлов ресурсов/ссылок, только карточки источников и наборов данных
- всего записей в базе 16 133 670
- размер parquet файла после преобразования 1.9GB
- размер базы duckdb 15GB
- простые запросы group by отрабатываются менее чем за 1 секунду

Сложности
- Есть проблемы с запросами которые необходимы для поиска записей в которых данные отсутствуют, например, где не заполнены какие-либо поля которые являются struct'ами. К пример, если мне нужно найти все записи у которых не указаны темы или привязка к стране. В MongoDB такие запросы делают гораздо проще, даже со сложными схемами когда есть вложенные массивы внутри вложенных словарей внутри вложенных массивов.

Но, особенность данных в том что за исключением задач дедубликации данных, можно разрезать базу на тысячи parquet файлов или баз duckdb под каждый источник данных. Поэтому метрики качества можно замерять не по единой базе, а по источникам данных и формировать в единую базу обрабатывая каждый источник отдельно и параллельно.

Например, одна из задач в документировании источников данных, привязывании их к стране, темам и к типу владельца данных. Это перевод источников из временных в постоянные. Как определять приоритеты? По числу проиндексированных датасетов, чтобы расширить метаданные хотя бы источников данных с 1000+ наборами данных.

#data #datatools #duckdb #dateno
Про разного рода технически сложные задачи и их решения.

Я тут регулярно пишу про разные форматы файлов данных и могу сказать что, конечно, файловых форматов как и стандартов какое-то бесконечное количество. Когда-то я и сам делал и периодически обновляю инструменты вроде undatum [1] по работе с некоторыми из них. Так в undatum я недавно добавил работу с множеством алгоритмов сжатия обработкой файлов с минимизацией объёма их хранения и нагрузкой на оперативную память, с быстрым преобразованием из JSON lines / BSON в аналогичные форматы со сжатием xzip, zstd и др. В общем-то из-за банальных задач уменьшения объёма хранения JSON lines файлов, но с возможностью работы с ними.

Однако вот сейчас я смотрю на задачу преобразования данных в условно "диком состоянии", а то есть в большинстве популярных форматов, среди которых, конечно, лидируют CSV и Excel файлы и могу сказать что самые типовые задачи решает DuckDB, а чуть более сложные DuckDB + Polars + Pandas + предобработка некоторых форматов файлов на входе.

Причём именно в такой комбинации. Почему так?

DuckDb - даёт большую скорость в работе с табличными и большей частью иерархичных данных. Но DuckDb не умеет читать файлы Excel, ORC, ORC и тд. Их умеют читать Pandas и Polars. И частично их писать.

Из фундаментальных проблем DuckDB - непонимание кодировок кроме utf-8 для CSV файлов что решается их предобработкой. Вторая проблема в том что DuckDB не умеет определять структуру CSV файлов если заголовки не в начале файла. Это вообще не все инструменты умеют и это, в принципе, умеют немногие инструменты, особенно с открытым кодом.

CSV самый распространённый формат, плохо стандартизированный в "диком виде", слишком часто CSV файлы лежат в открытом доступе после экспорта из Excel.

Еще один недостаток DuckDB при работе с CSV файлами - это отсутствие поддержки алгоритмов сжатия за исключением GZip. Если исходить из эффективности хранения и стоимости хранения - это важный фактор. Например, несколько сотен тысяч CSV файлов в Dateno - это около 4TB данных. Хранить их в оригинальном виде неэффективно, сжатыми GZip лучше, а ещё лучше в чём то вроде zstd или даже сразу в Parquet со сжатием. Что логично поскольку эти данные статичны.

Но в итоге именно DuckDB + Polars + Pandas + предобработка + постобоработка данных + хранение первичных данных в Parquet оказывается наиболее универсальным решением в таких задачах.

Ссылки:
[1] https://github.com/datacoon/undatum

#thoughts #data #datatools #fileformats #dateno
К вопросу о состоянии открытости данных в РФ, я не очень верю что в ближайшие месяцы (годы?) случится чудо и оживёт государственный портал data.gov.ru. Пока не проглядывается сценарий при котором внутри гос-ва тренд на систематическую открытость вернулся. Больше шансов что мы в Dateno соберём больше данных чем когда-то было в data.gov.ru. Там уже сейчас проиндексировано много разного и можно больше.

Но есть посмотреть профиль РФ в Dateno, то там проиндексировано только около 15 каталогов данных из 154. Почему так? Можно ли лучше?

Конечно можно, и ограничения тут очень понятные:
1. Большая часть российских госресурсов сейчас не индексируются с зарубежных датацентров. Это преодолевается развертыванием прокси в РФ и индексация через прокси. И РФ не единственная страна где есть такие ограничения.
2. Значительная часть открытых данных в России публикуется по метод рекомендациям Минэка. Они очень плохо написаны, индексировать сайты публикующие данные по ним сложно, но возможно. Только этот парсер будет только под российские госпорталы, и то не все. И, по большей части, с устаревшими данными.
3. Очень много в РФ своих геопродуктов, самописных порталов данных и тд. Это также требует написания множества парсеров. Штук 40-50. Более менее стандартизированы только порталы NextGIS, Bitrix и Орбис, но их не так много.
4. Часть порталов с данными используют известное ПО типа Ipt, Pure, Figshare и до них пока ещё не дошли руки, но как только дойдут они добавятся в общий индекс.

В итоге, если специально не заморачиваться российской спецификой получится проиндексировать ещё 20-40 каталогов данных через прокси и за счёт парсеров для универсального софта, а в остальном надо приложить существенные усилия чтобы проиндексировать оставшиеся.

В этом смысле, собрать данные, например, по Финляндии гораздо проще. Там уже большая часть каталогов данных проиндексирована, да и не проиндексированные работают на типовом ПО которое тоже скоро будет индексироваться.

Вся эта национальная специфика очень сильно снижает видимость и находимость данных. И в Dateno ещё можно более-менее, но измерить эту доступность, а, к примеру, в Google Dataset Search невозможно даже посмотреть сколько датасетов и источников есть по странам.

#opendata #dateno #datasets #datacatalogs
В продолжение размышлений о поиске геоданных и связанных с этим сложностей. Я ранее писал про GeoSeer, единственный известный мне поисковик геоданных в мире, но и он сравнительно небольшой. А вот в качестве альтернатив ему выступают уже не поисковики, а каталоги георесурсов. В первую очередь поисковики в экосистеме ArcGIS по их каталогам открытых данных и георесурсов и некоторое, небольшое число альтернатив.

Например, Spatineo Directory [1] от финских геоконсалтеров Spatineo. Там более 87 тысяч георесурсов, в виде точек API по стандартам WFS, WMS, WMTS, но без сбора информации о слоях, поэтому это не поисковик, а именно каталог. Его существенный минус в то что более менее там систематизированы только точки API из развитых стран.

Другой, неожиданно, государственный проект это FGDS Status Checker [2] гигантский каталог геовебсервисов созданный как сервис проверки их доступности. Список вебсервисов там огромный, но почти полностью ориентированный на США и почти не охватывающий морские территории. Есть подозрение что Spatineo делали свой каталог с оглядкой именно на этот продукт, поскольку функции схожи.

Но ещё больше каталогов которые прекратили своё существование. К примеру WFS Geodata Catalog от германского GeoClub. Сейчас можно найти только скриншот.

Ещё был Pyxis crawler с каталогом из 29+ тысяч датасетов, вот он ближе к GeoSeer, но индексировал всего 1572 источника и его тоже больше нет. Тоже остался тоже скриншот.

И был ещё такой поисковик Geometa, но теперь даже его скриншот найти оказалось непросто.

Фактических попыток систематизировать и сделать доступными геоданные и геосервисы было много. Можно сказать что у Dateno тоже есть подзадача в части геоданных.

В каталоге Dateno сейчас 4.4 миллиона наборов геоданных извлеченных из 3127 геопорталов. При этом в реестре Dateno всего 5955 геопорталов и после индексации оставшихся объём геоданных существенно вырастет, кроме того много геоданных в других типах дата каталогов: порталах открытых данных, научных репозиториях и тд., это тоже добавит число геоданных.

Но пока приходится держать в голове что в части геоданных относительно сравнимой референсной базой является GeoSeer.

Ссылки:
[1] https://directory.spatineo.com
[2] https://statuschecker.fgdc.gov

#opendata #geodata #datasets #datacatalogs #dateno
Почему я в последнее время много думаю и пишу про геоданные?
Есть 4 основных типов общедоступных данных данных которые собираются в Dateno:
- открытые данные (opendata). С ними всё довольно понятно, их много, не не бесконечно много. Большая часть порталов известны, далее просто длительная методическая работа по их систематизации и сбору датасетов
- научные данные. Тут не всё так понятно, и этих данных по объёму более всего в мире, но в каждой науке свои виды каталогов данных, стандарты и тд. За пределами отдельных научных дисциплин у этих данных не так много пользы
- статистика и индикаторы. Нужны всем, чаще стандартизированы, поддаются систематизированному сбору и "расщепляются" на множество поддатасетов в привязке к конкретным странам и территориям. Много усилий требуется по агрегации национальных каталогов статистики.
- геоданные. Их много, чаще стандартизированы, но поиск и каталогизация явно недостаточны. Предыдущие попытки чаше безуспешны.

Остальные типы данных - это данные для машинного обучения, данные из коммерческих маркетплейсов или датасеты из порталов микроданных (социология), все они сильно меньше количественно.

Существенный количественный рост данных в Dateno будет от трёх категорий: научные данные, данные индикаторов и геоданные.

При этом научные данные можно _очень быстро_ загрузить из 3-4 крупных источников и это добавит +20 млн датасетов и создаст огромные пузыри данных по нескольким языкам, категориям и темам.

Данные индикаторов стремительно превратят Dateno в портал по макроэкономике/макростатистике. Их также можно загрузить +5 млн датасетов в короткое время.

А в агрегированных геоданных сейчас есть объективный "пузырь", огромное число датасетов по Германии отчего в любом поисковике по данным доля геоданных их Германии достигает 40-60% от общего числа. Если не больше.

Конечно, в какой-то момент, можно перестать думать про этот баланс и залить в Dateno несколько десятков миллионов датасетов и уже потом заниматься вопросами качества индекса. Так, например, сделали в агрегаторах научных данных типа SciDb и OpenAIRE. Там очень много мусора который создаёт количество датасетов, но который и почти не найдёшь потому что эти мусорные данные даже не подпадают под фасеты. В общем-то там ставка однозначно сделана на количество датасетов, а в этом смысле нет проблемы достигнуть того же.

#opendata #data #dateno #thoughts #geodata
Читаю научную статью Relationships are Complicated! An Analysis of Relationships Between Datasets on the Web [1] от команды Google Datasets из которой немного больше понятно о том как устроен их Google Dataset Search и не могу не отметить насколько неглубоко они погружаются в тематику того чем занимаются и с насколько небольшими датасетами метаданных работают. В этом случае они работали с датасетом с метаданными о 2.7 миллионов наборах данных.

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

Но, почему я лично считаю их статью неглубокой:
1. Кроме базовых стандартов вроде DCAT, Schema.org и других есть куда больше более сложных стандартов публикации данных, особенно научных, где эти взаимоотношения прописаны куда чётче.
2. Взаимоотношения датасетов, по хорошему, это предмет онтологического моделирования и дополнения/расширения/адаптации DCAT
3. Более сложная эвристика не только и не столько в анализе названий, как это делают авторы, а в общих схеме/структуре данных между датасетами, пересечение по содержанию и тд.

Правда работ в этой области не так много, но от ребят из Гугла я ждал большего.

Когда у меня только начинались мысли про Dateno изначально желание было с запустить процесс постоянного обогащения метаданных чтобы сделать поиск насыщеннее: больше фильтров, лучше связи между данными, больше понимания их содержимого и тд. Но, случайно, получилось собрать быстро много датасетов и по прежнему не покидает ощущение что их слишком мало. Данных всегда мало!😜

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

Ссылки:
[1] https://www.semanticscholar.org/paper/Relationships-are-Complicated%21-An-Analysis-of-on-Lin-Alrashed/97e3cfd5a6cf88f2b1887c5fefc76b528e92f23b

#opendata #datasets #google #dateno #readings
Please open Telegram to view this post
VIEW IN TELEGRAM
Open data in Scotland: a blueprint for unlocking innovation, collaboration and impact [1] ещё один любопытный документ про открытые данные в Шотландии.

Видимо чтобы подтолкнуть правительство Шотландии создать портал открытых данных региона. При этом надо сказать что в реестре Dateno [2] Шотландии есть 29 каталогов данных и в самом Dateno проиндексировано 7500+ датасетов из Шотландии. Скорее всего данных там реально больше.

Надо, кстати, как-нибудь доработать реестр и отображать каталоги данных на субрегиональном уровне, добавить мониторинг доступности, перевести ведение реестра из формата сборки в формат СУБД.

Но это скорее задачи для бэклога.

Сейчас чтобы работать с реестром каталогов данных Dateno можно просто скачать файл full.jsonl [3] из репозитория и выполнить команду
select uid, catalog_type, software.id, link from (select *, unnest(owner.location.subregion) from 'full.jsonl') where id_1 = 'GB-SCT';


Очень и очень просто. А сам реестр постоянно пополняется.

Ссылки:
[1] https://www.gov.scot/publications/open-data-scotland-blueprint-unlocking-innovation-collaboration-impact/
[2] https://dateno.io/registry
[3] https://github.com/commondataio/dataportals-registry/tree/main/data/datasets

#opendata #datasets #scotland #dateno
На всякий случай, для тех кто не знает, посты с рассказом про источники данных и Dateno я дублирую на английском в LinkedIn [1] где можно подписаться на эти и другие новости проекта.

Закидывать туда посты, я, и коллеги, будем нечасто, но регулярно и на английском языке и по теме data discovery.

А в этом телеграм канале я пишу:
а) На русском.
б) Часто
в) Про разное

Ссылки:
[1] https://www.linkedin.com/company/datenoproject/posts/?feedView=all

#opendata #dateno
А вот и свежие новости о Dateno. Мы привлекли раунд инвестиций в рамках которого в ближайшее время планируем запустить API, значительно увеличить поисковый индекс и добавить немало новых возможностей которые сейчас в разработке, а это и функции ИИ, и значительная работа по улучшению качества и полноты поиска. А также, что немаловажно, мы добавим в поиск немало данных связанных с web3 и blockchain.

#opendata #dateno #datasearch #investment #ai #blockchain #web30