Что уже умеют передовые каталоги
Передовые каталоги отличаются не платформой, а тем, что сокращают путь от карточки до ответа. Одни сами превращают файл в API. Другие выдают DOI на выборку, хранят версии таблицы как код, проверяют набор до публикации или считают на своей стороне. Почти всё это пока не входит в ядро CKAN, ArcGIS Hub, Huwise, Socrata, Dataverse, DSpace и GeoNetwork. Часть можно поставить рядом со своим порталом: есть открытый код. Часть пока доступна только как чужой сервис. От этого и зависит, что из главы писать в техническое задание.
Ниже девять таких возможностей. У каждой — один-два каталога, на которых её видно лучше всего, и ответ на три вопроса: чем повторить, когда не нужно и как проверить запросом.
Каталоги отобраны по четырём признакам:
- возможности нет в ядре массовых платформ: то, что включается настройкой, — уже не новшество;
- она работает публично, и её можно проверить запросом без входа;
- идею можно повторить: есть открытый код, стандарт или хотя бы описанное соглашение;
- понятен статус. Бета, единственный оператор или обещание хранить пять лет — часть описания, а не сноска.
| Возможность | Где видно лучше всего | Чем повторить у себя | Когда не нужно |
|---|---|---|---|
| API к каждому табличному файлу | data.gouv.fr, Hugging Face, Datasette | открытый сервис api-tabular, Datasette; в CKAN — DataStore с загрузчиком | файлов мало, они маленькие и их скачивают целиком |
| Идентификаторы объектов внутри данных | Overture Maps, OpenSanctions | правила идентификаторов в реестре, таблицы соответствия | набор ни с чем не связывают |
| DOI на выборку | GBIF; проще — Our World in Data, CELLxGENE Census | DOI от DataCite на сохранённый запрос; соглашение об адресах | на данные не ссылаются |
| Версии таблиц как в Git | DoltHub, OpenNeuro | Dolt и DoltLab, DataLad | таблицу правит один человек раз в год |
| Проверка по стандарту на входе | OpenNeuro, DANDI | схема и валидатор при загрузке | у области нет общего стандарта |
| Обработка рядом с данными | Copernicus Data Space Ecosystem, Climate Data Store, ERDDAP | ERDDAP, сервер openEO | данные помещаются в обычный файл |
| Сведение многих источников | Data Commons, HDX HAPI, OpenSanctions | открытый код Data Commons, yente | каталог одной организации |
| Доступ по ступеням | microdata.no, Redivis | своя разработка или чужой сервис | данные открыты целиком |
| Готовность к ИИ-агентам | data.gouv.fr, Data360 Всемирного банка | сервер MCP, который даёт платформа | нет лицензий и полной выгрузки |
С чего начинается ряд: Source Cooperative
В Source Cooperative ново не хранилище, а то, что каталог почти не стоит между читателем и данными. Продукт — папка в объектном хранилище с описанием README. Файлы в облачных форматах читают по частям прямо по сети. В реестре dataportals-registry у площадки записан интерфейс STAC — протокол описания пространственных файлов. Сильные и слабые стороны — бета, публикация по заявке, нет DOI и версий — разобраны в главе об облачных хранилищах и хабах. Следующие два раздела развивают ту же идею. У Overture Maps постоянные идентификаторы есть у объектов внутри данных. У Hugging Face по файлу сразу можно выполнить запрос.
API к каждому табличному файлу
Обычно между «скачать файл» и «получить API» стоит работа издателя: загрузить таблицу в базу, описать колонки, поддерживать загрузчик. Передовые каталоги делают это сами.
data.gouv.fr. Табличный API французского портала (пока в бете) сам подхватывает каждый табличный файл в течение нескольких минут после публикации. Предел по размеру: 100 МБ для CSV, 50 МБ для XLS и Parquet, 12,5 МБ для XLSX. У каждого файла три адреса. Профиль показывает типы колонок и распознанные форматы — например, код коммуны INSEE или широту, — частые значения и число пропусков. Данные отдаются постранично, с фильтрами и сортировкой. Описание запросов в формате Swagger строится для каждого файла отдельно. Предел — 100 запросов в секунду. На странице сервиса к нему привязаны 31 768 наборов. Код сервиса открыт под лицензией MIT, его можно поставить рядом со своим порталом.
Hugging Face. Платформа сама переводит наборы поддерживаемых форматов в Parquet и строит по ним просмотр, поиск, фильтры и статистику. Консоль SQL работает целиком в браузере на DuckDB. Запросом можно поделиться ссылкой, а результат выгрузить в Parquet или CSV. Это сдвигает границу, которую книга проводит в разделе о предпросмотре: предпросмотр нельзя процитировать, а ссылка на запрос уже воспроизводима. Постоянной ссылкой она всё же не становится. Набор могут обновить, и тот же запрос вернёт другие строки.
Datasette — тот же принцип в малом масштабе. У любой страницы есть версия в JSON, фильтры пишутся в адресе, есть полнотекстовый поиск и произвольный SQL. В реестре 45 записей на Datasette, 44 из них действующие. Как опубликовать на нём небольшой набор, — в главе о статических сайтах.
Чем повторить. В CKAN тот же результат дают DataStore и расширение XLoader, но предел строк и загрузчик остаются на вашей стороне. Подробнее — в главах об интерфейсах доступа и о хранилище.
Когда не нужно. Если файлов десяток и их скачивают целиком, API ничего не добавит. Ограничения надо называть честно. Большие файлы остаются просто файлами. Бета может поменять адреса. API к чужому CSV наследует все ошибки этого CSV: неверную кодировку, лишние строки над заголовком, текст в числовой колонке.
Идентификаторы объектов внутри данных
Книга подробно разбирает DOI набора. Но идентификатор может быть и у отдельной строки. Это меняет то, как данные связывают между собой.
Overture Maps. У каждого здания, дороги, места и административной единицы в ежемесячном выпуске Overture есть постоянный идентификатор в системе GERS. Рядом ведутся реестр идентификаторов с датами первого и последнего появления, журнал изменений по каждому объекту и таблицы соответствия с идентификаторами исходных источников. Зачем это нужно, Overture объясняет так. Поставщик данных о пробках может публиковать только пробки, без самих дорог, а поставщик показателей — только показатели, без границ. Соединяют их по идентификатору, без сопоставления геометрий.
Здесь же честный урок. В выпуске 2025-06-25.0 Overture заменил старые идентификаторы, в которых были зашиты ячейка сетки H3 и тема, на случайные UUID. Старые идентификаторы больше не находятся. Идентификатор, в который зашит смысл, обходится дороже, чем кажется: смысл меняется, а ссылки на старый номер остаются.
OpenSanctions показывает ту же идею для людей и компаний. Сущность собирают из многих списков, после устранения дублей у неё один канонический идентификатор. Если она совпала с записью Викиданных, идентификатором становится номер Викиданных.
Чем повторить. Правила реестра: идентификатор по правилам, а не номер строки; записи не удаляются, а получают статус; таблица соответствия со старыми номерами. Они уже перечислены в главе об идентификаторах.
Когда не нужно. Набор, который никто не связывает с другими, — годовой отчёт, разовое обследование, — обходится идентификатором набора.
DOI на выборку
Обычно DOI выдают набору. Передовые каталоги выдают его запросу.
GBIF. У каждой выгрузки наблюдений есть DOI. Страница выгрузки хранит список наборов-источников и все условия отбора. 15 октября 2026 года набор наблюдений iNaturalist входил в 2 623 241 выгрузку, и у каждой был свой DOI. Если исследователь потом отфильтровал данные, собрал их из нескольких выгрузок или посчитал в облаке, он регистрирует производный набор со списком исходных и тоже получает DOI. Ежемесячные снимки GBIF в облаках Microsoft, Amazon и Google имеют DOI. GBIF отслеживает, где эти DOI процитированы. Ссылки на выгрузку разобраны в главе о цитировании. Новое здесь не то, что DOI есть, а то, что объектом публикации становится запрос.
Рядом стоят два решения попроще.
Our World in Data позволяет дописать к адресу любого графика .csv, .metadata.json или .zip и получить данные, описание и README. В описании есть готовая строка источников для ссылки. Это соглашение об адресах, его можно перенять без какого-либо ПО.
CELLxGENE Census публикует данные одноклеточного секвенирования как один объект, из которого берут срезы по клеткам и генам. Выпуски с долгой поддержкой обещаны раз в полгода, каждый хранится не меньше пяти лет. Для любого среза есть генератор ссылки. Обещание хранить выпуск с названным сроком — хороший образец для главы об архивации. Статус при этом сверяют: 15 октября 2026 года файл выпусков называл стабильным выпуск 2025-11-08, а последним — 2025-11-17.
Чем повторить. DOI на сохранённую выборку выдают через DataCite так же, как на набор. Нужны сохранённый текст запроса, дата и список источников. Общая схема описана в рекомендациях Research Data Alliance о ссылках на меняющиеся данные.
Когда не нужно. Если на данные не ссылаются в работах, хватает даты обращения и архива прошлых выгрузок.
Версии таблиц как в Git
Dolt — база данных с языком SQL, совместимая с MySQL. Её можно клонировать, ветвить, сливать и отправлять так же, как репозиторий Git. DoltHub бесплатно хранит публичные базы. Изменение данных проходит через запрос на слияние с проверкой: проверяющий видит разницу по строкам и ячейкам, а не по файлу. DoltLab — та же площадка для установки у себя. Это вариант между Git-репозиторием и порталом: история правок как в Git, но для таблицы, которая уже не помещается в CSV на 2 МБ. Подробнее — в главе о Git-репозиториях.
OpenNeuro — та же идея в научном архиве. Каждый снимок набора — версия со своим хэшем Git и DOI. Набор можно забрать из S3, через DataLad или прямо из Git. DataLad — программа, которая хранит большие наборы как репозитории Git: история и описание в Git, сами файлы — отдельно. В реестре на DataLad 10 установок.
Когда не нужно и чем рискует. Таблицу, которую раз в год правит один человек, проще держать в обычном Git. Площадка с одним оператором может закрыться: в 2022 году так закрылся каталог QRI с той же идеей, история — в главе об облачных хранилищах и хабах. Поэтому в карточке решения нужен ответ, как забрать базу и историю правок.
Проверка по стандарту на входе
Часть книги о качестве измеряет его после публикации. Архивы нейроданных проверяют его до публикации.
OpenNeuro принимает только наборы по стандарту BIDS — общему для нейровизуализации порядку папок, имён файлов и описаний. При загрузке набор проверяет валидатор. С предупреждениями загрузить можно, с ошибками нельзя. Условия жёсткие: снимки обезличены, лицензия CC0 сразу или через 36 месяцев после первого снимка.
DANDI — архив нейрофизиологии на стандарте NWB. Кнопка публикации становится активной только после того, как исправлены все ошибки проверки описания набора и файлов. Опубликованная версия не меняется и цитируется по номеру. Ограничение описано честно: наборы с файлами Zarr пока опубликовать нельзя. В реестре три установки DANDI.
Здесь качество — условие входа, а не показатель на дашборде. Это работает там, где у области есть общий стандарт. Для городского портала аналог — проверка таблицы по схеме из каталога schema.data.gouv.fr при загрузке. Как это вписать в уровни качества — в главе об уровнях качества.
Когда не нужно. Если общего стандарта нет, проверка на входе превращается в список правил одного портала. Издатели обходят его пустыми полями.
Обработка рядом с данными
Здесь каталог отдаёт не файл, а нужный кусок данных или результат расчёта.
Copernicus Data Space Ecosystem даёт к одним и тем же спутниковым данным S3, STAC, openEO и Sentinel Hub. openEO — открытый протокол, по которому пользователь отправляет на сервер цепочку операций над снимками: вырезать участок, посчитать индекс растительности, усреднить по месяцам. Считает сервер, пользователь получает результат. Есть федерация с партнёрскими платформами и отдельная точка доступа без неё. Пределы бесплатного уровня названы прямо: два синхронных запроса и два пакетных задания одновременно, проверено на участках до 100×100 км при разрешении 10 м. В реестре 12 записей с openEO в адресе, три из них — у Copernicus Data Space Ecosystem.
Climate Data Store решает проще и для человека. Пользователь собирает выборку в форме на странице набора, а кнопка «Show API request code» выдаёт готовый код запроса на Python. Условия использования при этом принимают вручную на странице набора, один раз.
ERDDAP напоминает, что новшество не обязано быть новым. Весь запрос, вместе с выборкой по пространству и времени в обычных единицах, умещается в адрес. Формат ответа выбирают на лету: CSV, JSON, NetCDF, MATLAB, KML, PNG. Есть подписка на изменения набора. В реестре 175 записей на ERDDAP, 174 из них действующие. Это больше, чем у любого другого решения из этой главы.
Когда не нужно и чем рискует. Если данные помещаются в обычный файл, вычисления на сервере не нужны. Вычисления дороже всего, и их закрывают первыми: в 2024 году Microsoft закрыла Planetary Computer Hub, а каталог остался. Поэтому каталог и вычисления описывают в требованиях отдельными пунктами. Потеря второго не должна означать потерю первого.
Сведение многих источников
Обычный каталог знает файлы. Эти каталоги знают переменные, места и сущности и отвечают на вопрос сразу по всем источникам.
Data Commons собирает статистику многих организаций в граф знаний — одну базу, где у каждой переменной и каждого места свой идентификатор, а связи между ними записаны явно. Данные отдаются через REST, SDMX 3.0, BigQuery, встраиваемые компоненты и сервер MCP. «Свой Data Commons» можно развернуть на открытом коде.
HDX HAPI особенно полезен читателю с CKAN. Гуманитарный портал HDX работает на CKAN, а API CKAN отдаёт только описания. HAPI добавляет сверху приведённые к одному виду значения показателей из многих источников: население, продовольственная безопасность, финансирование. Обновляются они ежедневно, сами числа не меняются. Это слой поверх существующего портала без смены платформы.
OpenSanctions хранит каждое значение как отдельное утверждение: из какого источника, какое свойство, когда оно впервые и в последний раз встречалось, с каким каноническим идентификатором сущность слилась после устранения дублей. Таблица утверждений выгружается каждую ночь. Это происхождение на уровне значения, а не набора. Сервис поиска и сопоставления yente открыт под MIT. Сами данные бесплатны только для некоммерческого использования.
Рядом стоят уже описанные в книге DBnomics — один API ко многим поставщикам статистики с сохранёнными исходными кодами — и IPUMS — конструктор выгрузок и единый API для всех коллекций микроданных. Подробнее — в главах о каталогах показателей и о каталогах микроданных. У Aleph пользователь загружает свой список людей или компаний, и система сверяет его с сотнями наборов, к которым у него есть доступ. Признак тревожный: последний коммит в основном репозитории Aleph был 20 февраля 2026 года.
Когда не нужно. Каталогу одной организации сводить нечего. Сведение нужно агрегатору и тому, кто отвечает на вопросы сразу по многим источникам.
Доступ по ступеням
microdata.no — самый сильный пример. Сотрудники и студенты одобренных вузов, научных организаций и министерств работают с регистровыми данными Норвегии без заявки и без заранее описанного проекта. Записей они не видят. Данные не покидают защищённое хранилище, а результаты обезличиваются на лету.
Redivis делит доступ к набору на пять ступеней: набор невидим, видно описание, видны переменные и сводная статистика, доступна выборка-образец, доступны все данные. Каждую ступень можно открыть всем, отдельным людям или после выполнения условий. В реестре 13 записей на Redivis и 27 каталогов с интерфейсом GA4GH DRS — стандартом выдачи файлов биомедицинских данных по правам доступа.
Ступенчатый доступ — функция каталога. Описание и статистика открыты всем, данные выдаются по ступеням. Читателю с чувствительными данными это даёт вариант между «всё открыть» и «ничего не показывать». Как устроены уровни доступа в массовых платформах — в главах о доступе и ролях и о каталогах микроданных.
Когда не нужно. Если данные открыты целиком, ступени только прячут описание за лишним шагом.
Готовность к ИИ-агентам
ИИ-агент — программа на большой языковой модели, которая сама ищет набор, читает описание и забирает данные. Сервер MCP даёт такому агенту готовый список запросов к каталогу. Подробно об этом — в главе об ИИ и пространствах данных. Здесь — что в этой области уже считается передовым.
Сервер теперь дают сами платформы, но пока почти никто не включает его по умолчанию. У Huwise сервер есть, но в тариф он не входит, и каждый запрос требует ключа API. У каждой организации в облаке PortalJS свой адрес сервера, а его код открыт. data.gouv.fr держит свой сервер только на чтение и без ключа. Лучший пример устройства — сервер Data360 Всемирного банка. Кроме инструментов он отдаёт агенту обязательную инструкцию, справочники кодов и проверку того, есть ли ряд по нужной стране, до запроса данных. Data Commons раздаёт инструкции для агентов так же, ресурсами своего сервера. Это новый слой описания: инструкция к данным для программы, которую тоже надо вести.
Когда не нужно. Пока у наборов нет лицензий и полной выгрузки, сервер быстрее отдаёт пустые карточки. Своими силами его ставят после этого. Если сервер даёт платформа, его включают только на чтение, без ключа для открытых наборов и поверх того же публичного API.
Что не выделять как новшество
Чат на месте каталога и поиск фразой уже разобраны в главе об ИИ, вместе с риском «модель вместо данных». Машинный перевод карточек на 24 языка ЕС у data.europa.eu — в главе о других возможностях. Открытый код витрины статистики Малайзии OpenDOSM и data.gov.my — в главе о каталогах показателей. Небольшие статические порталы «данные как код» на Datadex в реестре представлены тремя записями, и ни у одной API не отмечен. Это пока эксперимент.
Как проверить
Команды не требуют входа. Ожидаемые ответы получены 15 октября 2026 года.
# data.gouv.fr: профиль, строки и описание Swagger у одного CSV.
# RID — идентификатор файла из карточки набора
RID=571a3021-0e10-471c-98b8-72bcab5daca8
curl -s "https://tabular-api.data.gouv.fr/api/resources/$RID/profile/"
curl -s "https://tabular-api.data.gouv.fr/api/resources/$RID/data/?page_size=2&commune__exact=Cessy"
curl -s -o /dev/null -w "%{http_code}\n" "https://tabular-api.data.gouv.fr/api/resources/$RID/swagger/"
# Hugging Face: готовые файлы Parquet и что включено у набора
curl -s "https://datasets-server.huggingface.co/parquet?dataset=nyu-mll/glue"
curl -s "https://datasets-server.huggingface.co/is-valid?dataset=nyu-mll/glue"
# Overture Maps: каталог выпусков в STAC
curl -s "https://stac.overturemaps.org/catalog.json"
# GBIF: в скольких выгрузках с DOI есть набор iNaturalist
curl -s "https://api.gbif.org/v1/occurrence/download/dataset/50c9509d-22c7-4a22-a47d-8c48425ef4a7?limit=1"
# Our World in Data: данные и описание графика по соглашению об адресах
curl -s -o /dev/null -w "%{http_code} %{content_type}\n" "https://ourworldindata.org/grapher/life-expectancy.csv"
curl -s "https://ourworldindata.org/grapher/life-expectancy.metadata.json"
# CELLxGENE Census: выпуски и пометка долгой поддержки
curl -s "https://census.cellxgene.cziscience.com/cellxgene-census/v1/release.json"
# DoltHub: SQL к истории правок базы
curl -s "https://www.dolthub.com/api/v1alpha1/dolthub/ip-to-country/master?q=SELECT%20commit_hash%2C%20committer%2C%20date%20FROM%20dolt_log%20LIMIT%202"
# OpenNeuro: последний снимок набора
curl -s https://openneuro.org/crn/graphql -H 'content-type: application/json' \
-d '{"query":"{ dataset(id:\"ds000001\"){ latestSnapshot { tag created } } }"}'
# DANDI: версии набора и итог проверки черновика
curl -s "https://api.dandiarchive.org/api/dandisets/000003/versions/?page_size=3"
# Copernicus Data Space Ecosystem: сервер openEO
curl -s "https://openeo.dataspace.copernicus.eu/openeo/1.2/"
# HDX HAPI: ключ приложения выдаётся сразу, без регистрации
curl -s "https://hapi.humdata.org/api/v2/encode_app_identifier?application=book&email=book%40example.org"
# OpenSanctions: когда обновлён основной набор
curl -s "https://data.opensanctions.org/datasets/latest/index.json"
Что было в ответах:
- data.gouv.fr: профиль распознал в колонках
latиlonшироту и долготу (latitude_wgs,longitude_wgs), фильтр вернул строку коммуны Cessy, описание Swagger ответило кодом 200. Файл взят из набора о доступности слухопротезистов по коммунам. Если набор снимут, подставьте идентификатор любого CSV до 100 МБ; - Hugging Face: адреса файлов Parquet в ветке
refs/convert/parquet; у набора включены просмотр, поиск, фильтры и статистика; - Overture: каталог выпусков на STAC 1.1.0, среди выпусков 2026-08-19.0 и 2026-09-23.0;
- GBIF:
count— 2 623 241, у первой выгрузки в ответе свой DOI, лицензия и условия отбора; - Our World in Data: файл CSV с кодом 200, в описании строка источников «Riley (2005); Zijdeman et al. (2015); HMD (2025); UN WPP (2024)»;
- CELLxGENE Census:
"stable": "2025-11-08","latest": "2025-11-17", у выпусков с долгой поддержкой пометки"lts": trueи"do_not_delete": true; - DoltHub:
"query_execution_status":"Success". Ветка у этой базы называетсяmaster, по адресу сmainответ — «branch not found»; - OpenNeuro: у
ds000001снимок1.0.0от 14 мая 2020 года; - DANDI:
count— 5, первая версия в списке — черновикdraftсо статусомValid; - openEO:
api_version— 1.2.0; - HDX HAPI: строка
encoded_app_identifier, её передают в параметреapp_identifierследующих запросов; - OpenSanctions: у набора
defaultдата обновления2026-10-15T12:54:35.
Как проверить сервер MCP, — в главе об ИИ. Цифры реестра получены запросами из приложения «Как работать с реестром».
Что из этого следует
Девять возможностей — не список обязательного. Это список того, что можно попросить, если есть задача. Чтобы он работал как инструмент выбора, у каждой возможности в техническом задании должна быть пометка «обязательно», «желательно» или «не нужно» и фраза, откуда потребность. Готовые формулировки — в разделе «Новые возможности» чек-листа требований.
Три вещи из главы годятся почти любому каталогу:
- API к табличным файлам, если файлы небольшие и их правда фильтруют;
- проверка по схеме при загрузке, если схема уже есть;
- сервер MCP только на чтение, если его даёт платформа.
Остальное нужно под задачу: DOI на выборку — тем, на чьи данные ссылаются; ступени доступа — владельцу чувствительных данных; обработка на сервере — тем, у кого данные не помещаются в файл.
Источники
- dataportals-registry, выпуск 1.27.0 от 15 октября 2026 года — ERDDAP 175 записей (174 действующие), Datasette 45 (44), Redivis 13, DataLad 10, DANDI 3, Datadex 3 (API не отмечен ни у одной), 27 каталогов с GA4GH DRS, 12 записей с openEO в адресе
- data.gouv.fr, API tabulaire (beta) — пределы размера, профиль, 100 запросов в секунду, 31 768 наборов; код datagouv/api-tabular, лицензия MIT
- Hugging Face, Dataset viewer и SQL Console
- Datasette, JSON API
- Overture Maps, GERS — реестр идентификаторов, журнал изменений, таблицы соответствия, смена идентификаторов в выпуске 2025-06-25.0
- GBIF, рекомендации по цитированию — DOI выгрузок, производные наборы, облачные снимки
- Our World in Data, Chart API
- CZ CELLxGENE, Census — выпуски с долгой поддержкой, генератор ссылки
- Research Data Alliance, Precise, Actionable Reference to Dynamic Data, 2025 — ссылки на меняющиеся данные
- DoltHub, What is Dolt?, SQL API
- OpenNeuro, руководство пользователя — BIDS, снимки, CC0 через 36 месяцев; BIDS
- DANDI, публикация наборов — проверка перед публикацией, неизменная версия, ограничение для Zarr
- Copernicus Data Space Ecosystem, openEO — федерация и пределы бесплатного уровня
- Climate Data Store, настройка API
- ERDDAP, описание
- Data Commons, работа с ИИ-агентом
- HDX, Humanitarian API
- OpenSanctions, модель утверждений; yente, лицензия MIT
- DBnomics; IPUMS, API Program
- Aleph, перекрёстная сверка; репозиторий — последний коммит 20 февраля 2026 года
- microdata.no; Redivis, уровни доступа
- Huwise, сервер MCP; PortalJS, сервер MCP; Всемирный банк, Data360 MCP
- Облачные хранилища и хабы, ИИ и пространства данных, чек-лист требований