Перейти к основному содержимому

Чек-листы

Короткие списки живут в главах, рядом с объяснением. Здесь они собраны в рабочем виде: их можно распечатать или скопировать в задачу. У каждого пункта ссылка на главу, где написано, зачем он нужен.

Два длинных списка остаются в своих главах, потому что без пояснений их не заполнить:

Проверка живого портала​

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

Находимость и выгрузка

  • На странице набора есть блок application/ld+json с типом Dataset — экспорт метаданных.
  • Выгрузка заявляет профиль, который ждёт сборщик (DCAT-AP 3.0.1, DCAT-US 3.0), а не просто открывается по адресу data.json.
  • Отвечает карта сайта sitemap.xml — API и массовая выгрузка.
  • Есть файл со всеми описаниями (data.json, catalog.rdf, catalog.ttl), и он открывается без входа.
  • Число наборов в выгрузке совпадает с числом в поиске на сайте.
  • Выгрузка проходит валидатор нужного профиля: DCAT-AP, INSPIRE или DataCite — метрики качества.
  • Для геопортала отвечает CSW или OGC API Records, для научного репозитория — OAI-PMH.
  • Постраничная выгрузка доходит до последней страницы, а поиск через API отдаёт следующую страницу — API и массовая выгрузка.
  • Есть выборка «изменено после даты» или лента изменений, и за последние дни в ней что-то находится.
  • Описания и API отвечают из командной строки, без входа, ключа и проверки от роботов, лучше из другой сети.
  • Для больших баз есть массовая выгрузка файлами с датой и размером, а не только API с лимитами.
  • Лимиты, условия использования и документация API опубликованы; у API есть контакт.

Описания

  • У десяти случайных наборов, не самых свежих, заполнены лицензия, издатель, дата обновления, период и территория — полнота метаданных.
  • Самое частое значение периода, территории и частоты обновления — не заглушка вроде «1900–2099» или «вся страна» у наборов разных организаций — проверка на выборке.
  • Описание не повторяет название и длиннее 50 символов: короче не примет разметка для Google.
  • Лицензию ищут там, где её хранит схема: в DCAT-AP — у файлов, а не у набора.
  • Тема, лицензия, язык и территория взяты из общего справочника, а не свободным текстом — стандарты метаданных.
  • У табличных наборов есть словарь полей, и типы колонок совпадают с содержимым.
  • Свои поля и плагины схем (ckanext-scheming, ckanext-validation, профили GeoNetwork) проверены по репозиторию и ветке под текущую версию ядра.

Содержимое

  • Большинство наборов — не справки на одну-две строки, а общий объём данных сопоставим с главными источниками темы — проверка по существу.
  • «Обновлённые» наборы действительно изменились: в файле новые периоды, а не только новая дата в карточке.
  • У CSV указаны или однозначны кодировка и разделитель — антипаттерны.

Файлы и адреса

  • Ссылки «Скачать» открываются. Посчитайте долю внешних ссылок, которые отвечают ошибкой, и сведите ошибки по доменам — внутреннее хранилище.
  • По ссылке с форматом CSV, XLSX или PDF открывается файл, а не веб-страница или главная страница сайта.
  • Внешние ссылки проверяются по расписанию, а у ресурса видны дата и итог последней проверки.
  • Предел размера загрузки поднят до реального: в CKAN по умолчанию 10 МиБ.
  • Опубликованный файл, на который ссылаются, не перезаписывается: исправление — новая версия; у файла есть контрольная сумма.
  • Пользователю дают постоянный адрес файла на портале, а не временную ссылку облачного хранилища.
  • Адрес страницы набора не меняется при правке описания и названия — идентификаторы.
  • Если обещан DOI, https://doi.org/… ведёт на страницу набора, а не на главную, тестовый стенд или localhost.
  • Если на странице Handle, он разрешается через hdl.handle.net, а префикс не заглушка 123456789 из поставки DSpace.
  • Снятый набор с DOI заменён страницей-надгробием, а не страницей «не найдено».
  • Если портал переезжал, старые адреса перенаправляют, а не отвечают «не найдено».

Цитирование и доступ

  • Есть блок «Как цитировать», скачивается BibTeX или RIS с тем же идентификатором — экспорт цитирования.
  • В ссылке год публикации набора, а не год создания карточки; есть версия или, у обновляемых наборов, дата обращения.
  • Если у набора есть DOI, ссылка от DataCite совпадает со ссылкой на странице по автору, году и версии.
  • У набора видна организация и контакт — доступ, роли и процессы.
  • Описания закрытых наборов видны без входа, скачивание — нет.

Поиск, языки, сбор и обратная связь

  • Слово из середины описания находится поиском, а при сотнях наборов есть фильтр по организации и формату — другие возможности.
  • После смены языка то же слово на этом языке находит набор, и перевод описания совпадает с текстом на языке оригинала.
  • У табличного файла на странице есть таблица или прямая ссылка. У закрытого файла содержимое не видно тому, кому файл закрыт.
  • У собранного набора есть ссылка на оригинал, а у источника сбора — дата последнего успешного прохода и число наборов.
  • Счётчик видит тот способ доступа, которым данными пользуются: страницу, файл или API.
  • Сообщение об ошибке доходит до владельца данных. Назван человек и срок ответа.

Сетевую часть можно проверить одним скриптом. Подставьте адрес портала:

PORTAL=https://portal.example
for path in sitemap.xml data.json catalog.rdf catalog.ttl \
"api/3/action/package_search?rows=1" \
"oai?verb=Identify" \
"csw?service=CSW&request=GetCapabilities"; do
code=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 20 "$PORTAL/$path")
echo "$code $path"
done

Ответ 200 по адресу, который подходит к типу каталога, — хороший знак. Ответ 401, 403 или страница входа значит, что машинного доступа нет, даже если он обещан. Адреса для CKAN, OAI-PMH и CSW подходят не всем платформам: отсутствие ответа по чужому типу — не ошибка.

Каталог показателей​

Подробно — в главе о каталогах показателей.

  • Территории, отрасли и другие разрезы закодированы общими справочниками, справочники скачиваются.
  • Всю базу можно забрать целиком: архивом или файлом на показатель плюс перечень файлов.
  • Выгрузка из конструктора отдаёт весь ряд, а не только срез, показанный по умолчанию.
  • Есть API, у каждого показателя — постоянный адрес запроса.
  • Кроме Excel есть CSV и SDMX или JSON-stat.
  • Методика и единица измерения лежат рядом с рядом, а не только в PDF.
  • API описан по OpenAPI или хотя бы веб-страницей с примерами запросов.

Каталог метаданных​

Подробно — в главе о каталогах метаданных.

  • У каждого понятия, кода и описания постоянный адрес, который не меняется при переезде сайта.
  • Устаревшая запись помечена, и видно, чем её заменили; молча записи не удаляются.
  • Адрес записи отдаёт программе SKOS, SDMX или DCAT, а не только страницу.
  • Весь словарь или перечень скачивается одним файлом.
  • У каждой записи назван хранитель, у каталога записаны правила включения.
  • Каталог зарегистрирован уровнем выше: в BARTOC, re3data, FAIRsharing, индексе FAIR Data Point или национальной единой точке.
  • Программам не отвечает проверка от роботов вместо данных.

Каталог микроданных​

Подробно — в главе о каталогах микроданных.

  • Описание исследования видно без входа: выборка, единица наблюдения, период, территория.
  • У переменных есть текст вопроса, значения с подписями и частоты.
  • У каждого файла указан тип доступа; условия, что нужно для заявки и срок ответа написаны до заявки.
  • Описания выгружаются в DDI, есть API или OAI-PMH, и они отвечают программе без проверки «я не робот».
  • У исследования есть DOI или постоянный адрес и готовая ссылка для цитирования.
  • Открытые файлы лежат и в CSV или Parquet, а не только в форматах SPSS и Stata.
  • Каталог стоит на домене владельца с HTTPS, а не на IP-адресе или поддомене подрядчика; сопровождение заложено в бюджет.

Перед установкой расширения​

Подробно — в главе об экосистемах расширений.

  • Понятно, кто выпускает расширение и отвечает на ошибки. Один человек без ответа два года и без тестов — повод искать другой модуль.
  • Ваша версия ядра названа в автоматических тестах, таблице совместимости или имени ветки. Свежий выпуск при старых тестах не считается. «Работало у соседей» не считается.
  • Если копий несколько, в карточке решения записан адрес той, которую ставите.
  • Команда установки указывает на этот репозиторий и на ветку, которая в нём есть.
  • Есть файл лицензии, и она разрешает то, что вам нужно.
  • Для внешней программы записано, как она получает файл: короткая подписанная ссылка или долгоживущий ключ.
  • В карточке решения записано, что делать, если расширение перестанут поддерживать — как обосновать решение.

Перед покупкой или установкой платформы​

Подробно — в главах о развёртывании и сопровождении и о цене ухода.

  • Есть официальный контейнер и короткая инструкция обновления.
  • Известно, сколько последних версий поддерживается и как часто они выходят.
  • Посчитано, сколько расширений нужно для обязательных функций и кто их выпускает.
  • Названо, кто будет дежурить через два года: своя ставка, подрядчик или поставщик сервиса.
  • Проверено, что все описания и файлы можно выгрузить целиком, — иначе уйти с платформы будет дорого.
  • Пилот прошёл на десяти настоящих наборах, а не на демонстрационных.

Перед тем как назвать набор опубликованным​

Подробно — в главе о процессе публикации.

  • У набора постоянный адрес.
  • Лицензия на карточке, у файла и в выгрузке — одна и та же ссылка или известный код. «Не указана», код без текста и фраза в подвале не считаются — лицензии.
  • Файл или сервис открывается, или честно сказано, почему он недоступен и как его запросить.
  • Указаны дата обновления и периодичность.
  • Описание попало в общую выгрузку и видно верхнему порталу.
  • Черновик не попал в поиск до публикации.
  • Назван человек или команда, которые ответят на ошибку в строках. Ящик info@ без имени этого не закрывает.
  • В перечне или очереди записано, почему этот набор публикуют сейчас.

Пока набор остаётся опубликованным​

Подробно — в главе о процессе публикации.

  • Дата файла не старше обещанной частоты. Пустая частота значит, что обновление для этого набора не задано.
  • Снятый набор помечен: прежний адрес открывается и объясняет, почему выпуска больше нет или чем его заменили.
  • Просьба о недостающем наборе попадает в очередь, а не остаётся только письмом.
  • Перечень данных существует как документ — таблица или файл описаний, — а не только как память редактора.

Перед выключением каталога​

Подробно — в главах о жизненном цикле и об архивации.

  • О закрытии объявлено заранее, за месяцы, а не за дни; на переходный срок каталог работает только на чтение.
  • Данные переданы в другой каталог или архив, либо явно сказано, что они сняты с публикации.
  • Старые адреса либо перенаправляют, либо хотя бы год отвечают, куда переехал набор.
  • Снимок описаний сохранён: выгрузка через API или файл DCAT, а не только страницы сайта.
  • Файлы, которые лежат только в этом каталоге, сохранены вместе с адресами, откуда они взяты.
  • Проверено, что сайт есть в Интернет-архиве или национальном веб-архиве и что архив до него доходит, в том числе из-за рубежа.
  • Верхний портал и реестры, где каталог был зарегистрирован, уведомлены.

Перед тем как заводить свой портал​

Подробно — в главе «Когда портал не нужен».

  • Назван адресат: кто забирает описания и в каком профиле.
  • Посчитаны наборы, организации-публикаторы и частота обновления.
  • Назван человек, который будет обновлять публикацию через три года, и отдельно — кто обновляет сервер, если портал всё-таки ставят.
  • Проверен чужой каталог, который уже принимает эти наборы: региональный, национальный, университетский, Zenodo.
  • Если остаётся свой сайт или репозиторий, у каждого набора есть лицензия, дата и прямая ссылка на файл.
  • Записано событие, при котором отказ от портала открывают заново.

Перед входом для программ и пространством данных​

Подробно — в главе об ИИ и пространствах данных.

  • Выгрузка описаний, лицензия и прямая ссылка на файл уже работают.
  • Сервер MCP или файл llms.txt заводят, когда программами уже пользуются и есть кому его сопровождать.
  • Поиск фразой стоит рядом с обычным поиском и возвращает карточки наборов.
  • Чат ссылается на набор. Карточка, файл и лицензия остаются.
  • Пространство данных заводят, когда данными обмениваются несколько организаций и права у них разные.

Перед тем как чинить качество​

Подробно — в главе об уровнях качества.

  • В задаче назван уровень: данные, описания, каталог как сервис или система каталогов.
  • Исполнитель — тот, кто этот уровень держит: владелец данных, редактор, администратор платформы или координатор страны.
  • Очередь начинается с файлов, которые открываются и читаются. Выгрузка обгоняет её, когда сверху названа дата сбора.
  • Чужой балл разложен по уровню: балл карточки и MQA — описания, индекс страны — система, число наборов — счётчик карточек.

Минимум публикации без портала​

Подробно — в главе о том, как сделать публикацию находимой.

  • Одна страница с постоянным адресом. Путь не меняется, когда правят название.
  • Описание в разметке — от 50 до 5000 знаков, тот же смысл, что в тексте страницы.
  • Лицензия — ссылка на конкретную версию, одна и та же на странице, в файле и в записи DOI.
  • В HTML есть schema.org/Dataset и прямая ссылка на файл. Пустого DOI в разметке нет.
  • Страница открывается без входа. Если страниц несколько, есть карта сайта. robots.txt лежит в корне имени сайта.
  • Файл в профиле сборщика — только если сборщик есть, и обязательные поля этого профиля заполнены.
  • У таблицы есть datapackage.json. Дата обновления и контакт написаны на странице.
  • DOI — если на набор ссылаются. В sameAs стоит другая страница того же набора.

Готовые заготовки файлов — README, datapackage.json, CITATION.cff и разметка schema.org — лежат в шаблонах.

Статический каталог​

Подробно — в главе о статических сайтах.

  • Страница каждого набора собрана в HTML. Текст описания есть в файле страницы, а не подгружается только скриптом.
  • Адрес страницы не меняется, когда правят название. Переименование файла адрес меняет.
  • В HTML есть schema.org/Dataset. Разметка DCAT в атрибутах страницы её не заменяет.
  • Файл всех описаний открывается без входа. В записи есть издатель, лицензия, дата изменения и прямая ссылка. Строка conformsTo сверена с полями.
  • В поле лицензии стоит известная лицензия. Значение No licence не считается.
  • Карта сайта sitemap.xml открывается.
  • Если включена форма редактора, правка видна как коммит. Отдельный сервер входа, если хостинг его требует, записан в карточке решения.
  • Размер сайта и время сборки укладываются в предел хостинга.

Репозиторий с данными​

Подробно — в главе о Git-репозиториях.

  • Один набор — один пакет. Описатель называется datapackage.json и лежит в корне пакета.
  • В LICENSE — лицензия на данные. Если рядом скрипт, лицензия кода названа отдельно.
  • В CITATION.cff есть type: dataset. Пустого DOI в файле нет.
  • Файл меньше предела площадки. Большой файл — во вложении выпуска или вне Git, в репозитории остаётся адрес.
  • Выпуск, на который ссылаются, зафиксирован меткой. На GitHub связка с Zenodo включена до этого выпуска, у записи тип «набор данных», лицензия совпадает с LICENSE.

Файлы в облаке или на общем хабе​

Подробно — в главе об облачных хранилищах и хабах.

  • Рядом с файлами лежат README.md, лицензия и контрольные суммы. Лицензия на странице, в карточке и в файле одна и та же.
  • Адрес файла постоянный. Это не временная ссылка и не бакет с оплатой трафика читателем.
  • Файл скачивается без входа. Проверено запросом без ключа облака и в браузере, где вы не вошли на площадку.
  • У выпуска, на который ссылаются, есть DOI или копия вне площадки.
  • До загрузки проверено, что свои наборы можно забрать целиком. Если место оплачивает программа спонсорства, в карточке решения записан день, когда срок кончится.