Постоянные идентификаторы, DOI и версии
На данные ссылаются: в статье, в отчёте, в другом каталоге, в чужой программе. Ссылка полезна, только если через год она открывает тот же набор. Отсюда три практических вывода главы.
Постоянный адрес страницы нужен каждому каталогу и почти ничего не стоит, если заложить его до запуска: в адресе должен стоять ключ, который не меняется при правке описания и при переезде на другую платформу. DOI нужен там, где на данные ссылаются как на источник. Это не кнопка, а договор с агентством регистрации и обязательство годами поддерживать страницу, на которую он ведёт. Версия — обещание, что ссылка откроет те данные, которыми пользовался автор, а не сегодняшнюю выгрузку.
Главное, что показывают проверки в конце главы: идентификатор не надёжнее сайта, на который он указывает. В DataCite больше пятисот «находимых» DOI наборов данных ведут на localhost — адрес компьютера, на котором их настраивали. У четырёх из десяти проверенных установок DSpace постоянный идентификатор, напечатанный на странице записи, не открывается.
Что это
Адрес и идентификатор. Адрес говорит, где лежит страница: portal.example/dataset/budget-2024. Идентификатор говорит, что это за объект, и не зависит от того, где объект сейчас. Постоянный идентификатор состоит из трёх частей: имени, службы, которая по имени отправляет на текущий адрес (её называют резолвером), и владельца, который обязуется обновлять этот адрес при каждом переезде. Без третьей части первые две не работают: служба честно перенаправит туда, куда ей сказали, даже если там давно ничего нет.
Механизмов три, и их часто путают.
Постоянный адрес страницы. Адрес набора не меняется из-за правки опечатки в описании, не содержит сегодняшнюю дату и номер строки в базе. При смене сайта старый адрес перенаправляет на новый. Это нужно всем, и обеспечивает это сам каталог.
Внешний постоянный идентификатор. DOI, Handle, ARK и подобные: имя регистрируют во внешней службе, а она перенаправляет на текущую страницу набора. Ссылка вида https://doi.org/10.xxxx/yyyy переживает смену домена, если владелец не забыл обновить адрес в службе.
Версия. Зафиксированное состояние набора. Научная ссылка указывает на ту версию, которую использовали в расчёте. Портал открытых данных чаще ведёт один обновляемый набор: важны дата обновления и архив прошлых выгрузок, а не новый DOI на каждый понедельник.
Какие бывают идентификаторы
| Идентификатор | Кто выдаёт и сколько стоит | Что обязательно | Где встречается |
|---|---|---|---|
| DOI | агентства регистрации: DataCite для данных, Crossref для публикаций и другие. Платит организация-участник, обычно через консорциум | описание по схеме агентства: у DataCite шесть обязательных полей | научные репозитории, журналы, Zenodo, Figshare, некоторые геокаталоги |
| Handle | Handle.Net Registry; префикс — за ежегодный сбор, свой сервер Handle | нет | DSpace по умолчанию, Dataverse как вариант. Технически DOI — тоже Handle с префиксом 10. |
| ARK | ARK Alliance; номер организации (NAAN) бесплатно для библиотек, архивов и подобных «организаций памяти» | нет | национальные библиотеки и архивы, например Национальная библиотека Франции |
| PURL, w3id.org | бесплатные службы перенаправления: purl.org ведёт Интернет-архив, w3id.org — сообщество W3C, правила добавляют запросом в GitHub | нет | словари и онтологии связанных данных, постоянные адреса небольших проектов |
| CSTR | национальная система Китая | описание объекта | китайские научные репозитории, часто вместе с DOI |
| Постоянная ссылка установки | сама платформа, без внешней службы | нет | Dataverse (PermaLinks), идентификатор записи в любом каталоге |
Рядом с идентификатором набора работают идентификаторы людей и вещей вокруг него: ORCID у автора, ROR у организации, IGSN у физического образца, RAiD у исследовательского проекта. IGSN и RAiD с 2020-х годов выдаются как DOI через DataCite: среди её репозиториев 40 каталогов образцов и 17 реестров проектов. По этим связям агрегаторы собирают граф: кто сделал набор, в какой организации, по какому проекту и в какой статье его использовали.
Зачем нужна
Ссылки умирают быстро. По исследованию Pew Research Center 2024 года, из страниц, которые существовали в 2013 году, к октябрю 2023-го не открывались 38%. На 21% страниц государственных сайтов США есть хотя бы одна битая ссылка, чаще всего на сайтах городов. С наборами данных так же: при полной выгрузке data.gov.uk в 2023 году не открывались около 10% ссылок на файлы, подробнее — в главе о хранилище.
Ссылки ломают люди, а не технологии. Так в заметке «Cool URIs don't change» (1998) писал Тим Бернерс-Ли, и W3C с 1999 года держит все свои документы по прежним адресам по собственной политике постоянства. Обратный пример — российский реестр отечественного ПО в 2021 году: после переезда старые ссылки перестали открываться, а в новых адресах стоял технический номер записи в базе (330494) вместо номера программы в реестре (10269). При следующей смене базы такой адрес сломается снова. Короткие ссылки тоже не постоянны: их судьбу решает владелец сервиса, как показала история goo.gl в главе об архивации.
Чтобы на данные сослались и это засчитали. DOI делает набор полноправным источником: его ставят в список литературы, по нему считают цитирования, по нему агрегаторы связывают набор со статьёй и автором. Без идентификатора ссылка на данные остаётся адресом сайта, который никто не считает. Как из этого получается готовая строка ссылки — в главе об экспорте цитирования.
Чтобы сопоставлять записи. Реестры, справочники и классификаторы нужны другим данным как точка отсчёта. Если у записи нет устойчивого идентификатора, нельзя надёжно понять, что строка в прошлогоднем файле и строка в новом — одна и та же организация. Об этом раздел о реестрах ниже.
Как устроен DOI
DOI состоит из префикса и суффикса: 10.5281/zenodo.16546069. Префикс 10.5281 выдан организации, суффикс она придумывает сама. Служба doi.org по запросу отвечает перенаправлением на адрес, который владелец записал при регистрации. Этот адрес называют посадочной страницей: на ней описание набора, ссылка для цитирования и путь к файлам. Сам DOI файлов не хранит.
Агентства. Для данных DOI регистрирует DataCite — объединение, зарегистрированное в Германии. 12 октября 2026 года в DataCite 138,3 миллиона DOI, из них 76,4 миллиона с типом «набор данных». Что стоит за этим числом, разобрано в главе о мире каталогов в цифрах. Crossref, агентство из США, регистрирует DOI статей, книг и препринтов. Есть и другие агентства, например Бюро публикаций ЕС. Начиная с InvenioRDM v14 и в Dataverse можно регистрировать DOI и через Crossref, но для наборов данных обычный выбор — DataCite.
Описание обязательно. При регистрации в DataCite заполняют шесть полей: идентификатор, автор, название, издатель, год, тип ресурса. Без автора и года из DOI не получится ссылка для цитирования. Что ещё стоит заполнить, сказано в главе о полноте метаданных.
DOI нельзя удалить. У записи в DataCite три состояния. Черновик ещё не зарегистрирован в глобальной системе, его можно удалить. «Зарегистрированный» DOI работает, но его описание скрыто из поиска. «Находимый» работает и виден всем. Из двух последних состояний пути назад нет. Если набор пришлось снять, DataCite советует оставить на его месте страницу-надгробие: ссылка для цитирования, DOI и объяснение, почему данных больше нет. Для тех, кто не может сделать такую страницу, у DataCite есть общая страница-заглушка; 12 октября 2026 года на неё вели 5145 находимых DOI.
Сколько стоит. DataCite не берёт плату за каждый DOI, пока организация регистрирует меньше 100 тысяч в год. Платят за участие: самостоятельный член — 2000 евро в год плюс инфраструктурный сбор от 200 до 700 евро в зависимости от страны. Организация внутри консорциума членский взнос не платит, только инфраструктурный сбор. Поэтому университеты обычно получают DOI через национальный или библиотечный консорциум, а небольшие проекты — через чужой репозиторий вроде Zenodo, где DOI бесплатен для автора.
Чего DOI не гарантирует
Что данные сохранятся. DOI ведёт на страницу, а страницу держит владелец. Исследование «Open is not forever» (2020) насчитало 176 журналов открытого доступа, которые исчезли с 2000 по 2019 год, — с DOI и без. Идентификатор помогает найти след, но не заменяет архив. Как сохранять сами данные, разобрано в главе об архивации.
Что адрес правильный. Служба doi.org перенаправляет туда, куда записал владелец, и не проверяет, есть ли там что-нибудь. 12 октября 2026 года в DataCite 765 находимых DOI ведут на localhost, из них 548 — наборы данных. Такой адрес открывается только на компьютере того, кто его записал. Одна из причин видна в документации GeoNetwork: в качестве шаблона адреса посадочной страницы она предлагает http://localhost:8080/geonetwork/srv/resources/records/{{uuid}}. Португальский институт моря и атмосферы IPMA в 2025 году зарегистрировал два DOI с таким адресом, один из них — с названием «Copy of template MFSD Template…», то есть тестовую копию шаблона.
Что за DOI стоит набор. DOI выдают и отдельной записи большой базы: наблюдению вида, кристаллической структуре, отдельному эксперименту. Поэтому число DOI с типом «набор данных» нельзя читать как число наборов, см. главу о мире каталогов в цифрах.
Что агентство будет работать с вами всегда. DataCite и Crossref соблюдают санкции своих стран. Crossref не принимает заявки от организаций, которые входят в правительство России или находятся под санкциями США, Великобритании или ЕС; остальные заявки из России и Беларуси проходят отдельную проверку, а после 2022 года каждого российского члена проверили по санкционным спискам и часть исключили. Уже выданные DOI продолжают разрешаться, но новые организация может не получить. Китай выстроил параллельную систему: национальный идентификатор CSTR и репозиторий Science Data Bank, который при этом выдаёт DOI через DataCite (28 406 записей на октябрь 2026 года) и отдаёт описания европейским и американским агрегаторам.
Версии
Что считать новой версией. Изменились данные — новая версия. Поправили опечатку в описании или добавили ключевое слово — ревизия, новой версии она не создаёт. Граница проходит по тому, получит ли читатель другой результат, если повторит расчёт.
В научном репозитории опубликованная версия не переписывается. Исправление — новая версия со своим DOI или с тем же DOI и новым номером, по правилам репозитория. Платформы делают это по-разному, и разница важна для ссылки.
| Модель | Как устроено | Где |
|---|---|---|
| DOI на каждую версию и общий DOI | у каждой версии свой DOI, плюс общий (родительский) DOI, который всегда ведёт на последнюю версию | InvenioRDM и Zenodo, Figshare (общий DOI и DOI с суффиксом .v1, .v2) |
| Один DOI и номер версии | DOI один на весь набор, версия (1.0, 1.1, 2.0) указывается в ссылке для цитирования | Dataverse |
| DOI с номером версии | DOI новой версии — исходный DOI с номером через точку | DSpace при включённых версиях записей |
| Один обновляемый набор и снимки на дату | адрес набора постоянный, файл заменяется; прошлые выгрузки лежат в архиве с датой | порталы открытых данных, реестры, справочники |
| Серия наборов | каждый выпуск — отдельный набор со своим адресом, серия объединяет их | класс dcat:DatasetSeries в DCAT 3, статистика по годам |
У InvenioRDM и Figshare статья может сослаться на DOI конкретной версии, а общий DOI остаётся тем, кому нужна всегда последняя. У Dataverse статья ссылается на DOI и номер версии вместе. InvenioRDM с версии 13 позволяет сделать DOI необязательным, но по умолчанию не даёт выпустить версию без DOI, если у предыдущей он был: иначе общий DOI мог бы привести к версии без идентификатора.
Одна ссылка — разное содержимое. На портале открытых данных ссылка на файл обычно ведёт на текущий файл. В CKAN адрес загруженного файла строится по идентификатору ресурса, имя файла в нём ни на что не влияет: заменили файл — по старой ссылке скачивается новый. Для портала это удобно, для научной ссылки — нет: через год по ней получат не те данные. Помогают две вещи. Контрольная сумма показывает, что файл не изменился: в DCAT 3 для неё есть свойство у дистрибутива, Dataverse дополнительно считает для таблиц UNF — контрольную сумму содержимого, не зависящую от формата файла. И снимки на дату: если на файл уже могли сослаться, прошлый вариант остаётся в архиве.
Как версию описывают метаданные. В DCAT 3 (2024) появились свойства версии: номер (dcat:version), что изменилось (adms:versionNotes), предыдущая и текущая версии (dcat:previousVersion, dcat:hasCurrentVersion). В DataCite версии связывают отношениями IsNewVersionOf, IsVersionOf, HasVersion. У CKAN есть поле «версия», и ckanext-dcat выгружает его в DCAT, но это просто подпись: CKAN не хранит прошлые состояния набора как отдельные объекты со своими адресами.
На портале открытых данных набор обычно один, а файлы заменяются. Тогда нужны:
- дата и периодичность обновления в описании;
- неизменный адрес набора при замене файла;
- архив предыдущих файлов с датой, если на них уже могли сослаться.
Реестры и справочники
Реестр лицензий, перечень организаций, классификатор видов деятельности — наборы, на которые ссылаются другие данные и программы. Для них постоянный адрес нужен не только набору, но и каждой записи. Их ведут одним из двух способов.
- Справочник с версиями. Публикуется целиком, каждая версия — отдельный файл с датой. Так ведут классификаторы и адресные базы: пользователь берёт версию на нужную дату и может сравнить две версии между собой.
- Учётная система с историей записи. Записи меняются по одной, у каждой хранится история правок. Так удобнее для реестров, где изменения идут каждый день: лицензии, разрешения, статусы.
В обоих случаях у реестра, которым удобно пользоваться, есть одно и то же:
- уникальный идентификатор у каждой записи, присвоенный по правилам реестра, а не номер строки в файле и не технический номер в базе;
- постоянная ссылка на реестр целиком и на каждую запись, построенная из этого идентификатора;
- записи не удаляются, а получают статус «исключена» с датой;
- видны прошлые версии записи или всего реестра;
- указано основание записи: решение, приказ, документ, со ссылкой;
- реестр выгружается целиком, регулярными снимками на дату, и доступен через API.
Опубликованный реестр без идентификаторов и истории — снимок, который нельзя надёжно сопоставить с другими данными: запись могли переименовать, исключить или внести с ошибкой, и по файлу этого не видно. Регулярные снимки к тому же дешевле для самой системы: выгрузка всего реестра по запросу на большой базе легко кладёт сервер, а готовый файл раз в сутки — нет.
Идентификаторы объектов внутри данных
Тот же подход работает и для данных, которые реестром не называют. У Overture Maps постоянный идентификатор GERS есть у каждого здания, дороги, места и административной единицы в ежемесячном выпуске. Рядом ведутся реестр идентификаторов с датами первого и последнего появления, журнал изменений по объекту и таблицы соответствия с идентификаторами источников. Другой поставщик может публиковать только свои показатели — пробки, население — без геометрии, а соединяют их по идентификатору.
Урок там же. В выпуске 2025-06-25.0 Overture заменил прежние идентификаторы, в которых были зашиты ячейка сетки H3 и тема, на случайные UUID, и старые номера больше не находятся. Идентификатор со смыслом внутри ломается, когда меняется смысл. У OpenSanctions после устранения дублей у сущности один канонический идентификатор, а если она совпала с записью Викиданных — номер Викиданных. Подробнее — в главе о передовых каталогах.
Варианты реализации
Постоянный адрес силами платформы
Главный вопрос — какой ключ стоит в адресе набора. Короткое имя из названия удобно читать, но его хочется поправить вместе с названием. Номер или код, присвоенный один раз, читать неудобно, зато он не меняется.
| Платформа | Что в адресе | Что будет при переименовании |
|---|---|---|
| CKAN | короткое имя набора (/dataset/budget-2024); у набора есть и неизменный UUID | адрес по старому имени отвечает «не найдено». Адрес по UUID всегда перенаправляет на текущее имя — его и стоит давать для ссылок |
| Socrata | код из двух групп по четыре символа вида erm2-nwe9 и название | название в адресе декоративное: любой путь с кодом перенаправляет на текущий адрес |
| Huwise (OpenDataSoft) | читаемый идентификатор набора; есть и внутренний, который не меняется никогда | читаемый идентификатор можно менять только до публикации |
| Dataverse | постоянный идентификатор (DOI, Handle или постоянная ссылка установки) | не зависит от названия |
| DSpace | Handle | не зависит от названия |
| GeoNetwork | UUID записи | не зависит от названия |
| InvenioRDM | идентификатор записи | не зависит от названия; у каждой версии свой |
Проверено 12 октября 2026 года: на data.gov.gr адрес набора по UUID отвечает перенаправлением на адрес по имени, а на портале Нью-Йорка на Socrata путь с произвольным названием и кодом набора приводит к текущей странице.
Свой постоянный адрес без DOI
Если DOI не нужен, а адрес должен пережить смену платформы, есть недорогие пути.
- Перенаправления на своём домене. Адреса наборов строятся от домена, который организация не собирается менять, и при каждом переезде на веб-сервере ставят таблицу перенаправлений «старый адрес → новый». Самый дешёвый способ и единственный, который нужен всем.
- Handle. Префикс получают в Handle.Net Registry за ежегодный сбор и держат свой сервер Handle. DSpace поставляется с ним, но с префиксом-заглушкой
123456789, который глобальная система не знает. Пока префикс не зарегистрирован и сервер не запущен, Handle на страницах — только видимость. - ARK. Номер организации выдаётся бесплатно, ARK можно разрешать на своём сервере или через общий резолвер n2t.net. Подходит библиотекам, архивам, музеям.
- w3id.org и PURL. Бесплатные службы перенаправления. На w3id.org правило для своего пространства имён добавляют запросом в репозиторий на GitHub. Подходят небольшим проектам и статическим сайтам, которым нужен адрес, не привязанный к хостингу.
DOI
В ядре платформы. Dataverse, InvenioRDM, DSpace, Figshare и GeoNetwork регистрируют DOI сами. Нужны договор с агентством, префикс и тестовая учётная запись. InvenioRDM и DSpace по умолчанию подключены к тестовой системе DataCite, чтобы не выпустить настоящие DOI по ошибке. Ошибку, допущенную уже в рабочей системе, исправить трудно: DOI не удаляются.
Через расширение. У CKAN DOI нет в ядре. Расширение ckanext-doi Музея естественной истории в Лондоне переводит поля набора в схему DataCite и регистрирует DOI. Про риски — в разделе о расширениях.
Вручную или через консорциум. Организация с префиксом может регистрировать DOI в веб-интерфейсе DataCite Fabrica или через его API и указывать в них адреса страниц любой платформы, в том числе облачной. Так делают, когда DOI нужен десятку наборов, а не каждому. Консорциумы предлагают это как услугу: например, австралийская ARDC выдаёт DOI для данных государственных научных организаций, но прямо предупреждает, что поддерживать адреса придётся самим.
В чужом репозитории. Копия или выпуск данных уходит в Zenodo или Figshare и получает DOI там. Так делают с репозиториями на GitHub: выпуск архивируется в Zenodo автоматически. Подробнее — в главе о Git-репозиториях. Минус один: DOI ведёт на копию в Zenodo, а не на ваш портал, и обновлять копию нужно отдельно.
Когда нужна, а когда нет
| Ситуация | Что нужно | Чем обычно закрывают |
|---|---|---|
| Научный репозиторий, грантодатель или журнал требует ссылку на данные | DOI на каждую опубликованную версию, ORCID авторов, страница-надгробие при снятии | Dataverse, InvenioRDM, DSpace с DataCite, Figshare, Zenodo |
| Портал открытых данных министерства или города | постоянный адрес по неизменному ключу, перенаправления при переезде, дата обновления; DOI — не нужен | любая платформа, если выбрать ключ в адресе |
| Расписание транспорта, оперативные данные, которые меняются ежедневно | постоянный адрес набора и ленты; DOI лишний | любая платформа |
| Реестр или справочник | идентификатор каждой записи, снимки на дату, история | своя учётная система и выгрузки; портал — для снимков |
| Геопортал с записями ISO | UUID записи в адресе; DOI — если на слои ссылаются в научных работах | GeoNetwork с включённым DOI |
| Отдельные наборы, на которые ссылаются в докладах организации | DOI только этим наборам | Fabrica по договору консорциума или копия в Zenodo |
| Публикация без портала | адрес, не привязанный к хостингу, DOI на выпуск | Git-репозиторий и Zenodo, w3id.org |
DOI стоит выдавать, когда на набор будут ссылаться как на источник и организация готова годами держать посадочные страницы. DOI не стоит выдавать «для солидности»: ежедневно меняющийся набор с DOI вводит в заблуждение — ссылка обещает зафиксированное состояние, а открывает сегодняшнее.
Коротко, как выглядит обоснование по шаблону карточки решения:
- Контекст. Университет ведёт портал на CKAN 2.12 для данных кафедр. Фонд, который финансирует большую часть проектов, начал требовать DOI для данных к отчётам.
- Варианты. Поставить ckanext-doi; завести рядом Dataverse или InvenioRDM для данных, на которые ссылаются; отправлять такие наборы в Zenodo; регистрировать DOI вручную через консорциум.
- Критерии. Неизменность опубликованной версии, поддержка расширения на текущей версии CKAN, стоимость сопровождения, где окажется ссылка — на своём портале или в чужом репозитории.
- Решение. Рядом с CKAN поставить Dataverse для данных к публикациям; CKAN оставить для оперативных и учебных наборов; DOI получать через библиотечный консорциум.
- Почему. CKAN не хранит версии: DOI на заменяемый файл не даёт той неизменности, ради которой фонд его требует. ckanext-doi на CKAN 2.11 и 2.12 не тестировался. Zenodo проще, но ссылки уводят с портала университета, а копии приходится обновлять вручную.
- Когда пересмотреть. Если ckanext-doi начнут тестировать на текущей версии CKAN и потребуется DOI только для небольшого числа наборов без версий, либо если данных к публикациям станет так мало, что хватит Zenodo.
Как это сделано в платформах
Пометки — ядро, расширение, нет, не проверено, как в сводной таблице. Сверено с документацией платформ 12 октября 2026 года.
| Платформа | DOI | Версии | Что важно знать |
|---|---|---|---|
| Dataverse 6.12.1 | ядро: DataCite, Crossref (с 6.12.1), EZID, Handle и постоянные ссылки установки; несколько поставщиков на одной установке | ядро: основные и малые версии (1.0, 1.1, 2.0), DOI один на набор | файлам можно выдавать собственные идентификаторы — зависимые от DOI набора или независимые |
| InvenioRDM v14, Zenodo | ядро: DataCite, с v14 — Crossref; можно принять DOI, выданный в другом месте | ядро: у каждой версии свой DOI плюс родительский (с v12) | с v12 не регистрирует DOI для записей с ограниченным доступом; с v13 DOI можно сделать необязательным |
| Figshare | ядро сервиса: DataCite | ядро: общий DOI ведёт на последнюю версию, у версий суффикс .v1, .v2 | облачный сервис, своя установка невозможна |
| DSpace 10 | ядро, включается настройкой: DataCite или EZID, в дополнение к Handle | ядро: версии записей; DOI версии — исходный с номером через точку | адрес записи по-прежнему строится от Handle; DOI отправляются в DataCite отдельной задачей по расписанию; фильтр решает, каким записям DOI положен |
| GeoNetwork 4.4 | ядро, включается в настройках: DataCite или API Бюро публикаций ЕС; только для публичной записи | нет: при включённом согласовании есть рабочая копия записи и история статусов, но не версии со своими идентификаторами | DOI получает описание слоя, а не данные: слой на картографическом сервере может меняться |
| CKAN 2.12 | расширение ckanext-doi: заявлены CKAN 2.9 и 2.10 | нет: журнал изменений и поле «версия» — не версии со своими адресами | для ссылок давайте адрес по UUID набора |
| NADA | нет: только поле для DOI, выпущенного отдельно | не проверено | цитирование через DataCite работает, если DOI есть |
| Huwise, Socrata, ArcGIS Hub | нет | нет | постоянный адрес — по неизменному коду набора или элемента; DOI можно выпустить вручную и указать в своём поле |
| Hugging Face, Kaggle | ядро площадки: DOI через DataCite по кнопке | Hugging Face — ревизии репозитория Git; DOI выдаётся на текущую ревизию, для новой выпускают новый, а старый помечается устаревшим | после выдачи DOI набор на Hugging Face нельзя удалить или переименовать без поддержки; подробнее — в главе об ML-каталогах |
| Статический сайт, Git-репозиторий | через Zenodo: DOI на каждый выпуск | метки выпусков в репозитории | ссылка на файл в ветке показывает текущее состояние, ссылка на метку выпуска — зафиксированное |
Расширения и их риски
ckanext-doi — единственный путь к DOI внутри CKAN, и на октябрь 2026 года рискованный. Последний выпуск, 4.0.4, вышел 22 сентября 2025 года, с тех пор изменений нет. В описании заявлены CKAN 2.9 и 2.10. Автоматические тесты идут в готовых образах самого музея, а эти образы последний раз обновлялись 20 сентября 2023 года — до выхода CKAN 2.11. Значит, на 2.11 и 2.12 расширение не тестировалось вовсе. Портал, которому DOI нужен на текущем CKAN, либо берёт проверку на себя, либо выдаёт DOI вне CKAN. Состояние остальных расширений CKAN — в главе про CKAN.
Модули DOI в ядре тоже требуют внимания при обновлениях. В DSpace регистрация разделена на два шага: запись помечается в базе, а отправку в DataCite делает отдельная команда по расписанию. Если задачу по расписанию не перенесли на новый сервер при обновлении, DSpace считает DOI выданными, а в DataCite их нет, и ссылки не открываются. В GeoNetwork шаблон адреса посадочной страницы задают вручную, и с ним связана ошибка с localhost, описанная выше.
Что показывает реестр
По выгрузке реестра dataportals-registry (выпуск 1.27.0 от 15 октября 2026 года) пометка «DOI» стоит у 2008 каталогов из 43 614. Из них 1404 — научные репозитории, 584 — геопорталы, остальные единичны: 7 каталогов показателей, по 3 портала открытых данных и каталога микроданных.
Число нужно читать осторожно. Пометку в реестре в основном проставляют по платформе: если программа умеет выдавать DOI, пометку получают все её установки, у которых нет ручной отметки «нет». Поэтому среди геопорталов с DOI 555 — установки GeoNetwork. В самом DataCite 12 октября 2026 года 7209 DOI ведут на адреса, где в пути есть слово geonetwork, и приходятся они примерно на 45 установок; больше трёх тысяч — у французской гидрографической службы SHOM и австрийского ведомства геодезии BEV. Даже с поправкой на установки с другим адресом это на порядок меньше 555. Реестр показывает, кто может выдать DOI, а не кто выдаёт. Запросы — в приложении «Как работать с реестром».
Публикация без портала
Без портала постоянство адреса целиком на авторе, зато и способы проще.
- Выпуск и DOI. Репозиторий на GitHub связывают с Zenodo, и каждый выпуск получает свой DOI, а весь ряд выпусков — общий. Файл
CITATION.cffв корне подсказывает, как ссылаться. Как это настроить, — в главе о Git-репозиториях. - Ссылка на версию, а не на ветку. Ссылка на файл в ветке
mainвсегда показывает текущее состояние. Для ссылки в статье берут адрес метки выпуска или DOI выпуска. - Адрес, не привязанный к хостингу. Если набор живёт на статическом сайте, адрес вида
https://w3id.org/ваш-проект/переживёт переезд с GitHub Pages на другой хостинг: поменяется только правило перенаправления.
Как проверить живой портал
- Измените описание набора на тестовом стенде, в том числе название. Адрес страницы не должен измениться, а если изменился, старый должен перенаправлять.
- Найдите на странице постоянную ссылку. Если её нет, посмотрите, есть ли в адресе неизменный ключ: UUID, код, номер.
- Если обещан DOI, он виден на странице, а
https://doi.org/…открывает эту же страницу, а не главную и неlocalhost. - Если на странице Handle, проверьте его через
hdl.handle.net. Префикс123456789— заглушка из поставки DSpace. - Откройте предыдущую версию набора и проверьте, что её номер стоит в предлагаемой ссылке.
- После миграции на старом адресе стоит перенаправление, а не страница «не найдено».
Команды
Куда ведёт DOI и что о нём знает DataCite:
curl -sI https://doi.org/10.5281/zenodo.16546069 | grep -i '^location'
curl -s https://api.datacite.org/dois/10.5281/zenodo.16546069 \
| jq '.data.attributes | {url, state, publisher, version, related: [.relatedIdentifiers[]? | select(.relationType | test("Version"))]}'
В первом ответе должно быть перенаправление на страницу набора. Во втором — адрес, который записал владелец, состояние и связи с другими версиями.
Сколько DOI у репозитория и есть ли среди них адреса, которые нигде, кроме компьютера владельца, не откроются. Идентификатор репозитория в DataCite (client-id) виден в ответе предыдущей команды, в разделе relationships:
CLIENT=cern.zenodo
curl -s "https://api.datacite.org/dois?client-id=$CLIENT&page%5Bsize%5D=0" | jq '.meta.total'
curl -s -G https://api.datacite.org/dois --data-urlencode "client-id=$CLIENT" \
--data-urlencode 'query=url:*localhost*' --data-urlencode 'page[size]=0' | jq '.meta.total'
Разрешается ли Handle, напечатанный на странице записи DSpace:
curl -s https://hdl.handle.net/api/handles/1234/5678 | jq '.responseCode'
Код 1 — Handle существует, 100 — не найден, 2 — ошибка на стороне сервера Handle, пустой ответ — сервер не ответил.
Устойчив ли адрес на CKAN: адрес по UUID должен перенаправлять на адрес по имени.
PORTAL=https://data.gov.gr
ID=$(curl -s "$PORTAL/api/3/action/package_search?rows=1" | jq -r '.result.results[0].id')
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' "$PORTAL/dataset/$ID"
Три проверки на выборке
Проверки DataCite сделаны 12 октября 2026 года; для реестра использован выпуск 1.27.0 от 15 октября.
Ведут ли DOI наборов данных на живые страницы. Случайная выборка DOI ничего не говорит о практике: половина в ней от одного японского института, который регистрирует каждый эксперимент. Поэтому взяты 700 случайных репозиториев DataCite, у 314 из них нашлись наборы данных, и от каждого проверен один случайный DOI набора.
| Результат | Репозиториев |
|---|---|
| страница открылась | 233 |
| защита от роботов (403, проверка браузера) — программой не проверить | 55 |
| ссылка мертва: «не найдено», несуществующий домен, частный адрес | 16 |
| ошибка сервера или нет ответа дважды подряд | 10 |
Среди мёртвых ссылок — DOI, которые с самого начала вели в никуда: на частный адрес 10.4.0.146, на IP-адрес с портом 8080, на тестовый стенд nhsdigital-dev.collibra.com корпоративного каталога. Остальные — следы переездов: «не найдено» у старых записей B2SHARE и у страниц геопортала NOAA 2018 года, несуществующие домены у четырёх университетских репозиториев. Каждый двадцатый репозиторий с наборами данных отдаёт хотя бы часть DOI, которые не открываются, а ещё у каждого шестого программа не может это проверить.
Разрешаются ли Handle в DSpace. Из реестра взяты 120 случайных действующих установок DSpace с OAI-PMH, ответили 86. По идентификатору первой записи проверено, разрешается ли её Handle через hdl.handle.net. У 51 установки — да. У 12 стоит заглушка 123456789 из поставки, у 7 — буквенный локальный префикс вроде item или edata, который вне сайта ничего не значит. Ещё у 16 префикс числовой, но Handle не найден или сервер Handle не отвечает. Итого у 35 установок из 86 постоянный идентификатор на странице записи — только видимость.
Сколько геокаталогов на деле выдают DOI. Сравнение реестра и DataCite описано выше: 555 установок GeoNetwork с пометкой «DOI» против примерно 45 установок, на которые DOI действительно ведут.
Что из этого следует
- Заложите постоянный адрес до запуска: в адресе набора — неизменный ключ, а для ссылок — адрес, который не зависит от названия.
- Таблицу «старый адрес → новый» и перенаправления готовьте до переезда, а не после. DOI спасает только те наборы, которым его выдали заранее.
- Выдавайте DOI, когда на данные ссылаются как на источник и вы готовы годами держать посадочные страницы. Ежедневно меняющемуся набору DOI не нужен.
- Если выдаёте DOI, выдавайте его неизменным версиям, а при снятии данных оставляйте страницу-надгробие: DOI не удаляется.
- Проверьте адреса в своих DOI и Handle программой: не тестовый стенд, не
localhost, не заглушка из поставки. - Расширение для DOI проверяйте по тестам под свою версию ядра. ckanext-doi на CKAN 2.11 и 2.12 не тестировался.
- Помните, что DOI — договор с агентством в чужой юрисдикции. Держите и свой постоянный адрес: он останется, даже если новые DOI получить не удастся.
Источники
- DataCite: состояния DOI, страницы-надгробия, посадочные страницы, версии, взносы, REST API — запросы 12 октября 2026 года: 138,3 миллиона DOI, 76,4 миллиона наборов, 765 DOI на
localhost, 5145 на общую страницу-заглушку, 7209 на адреса GeoNetwork, выборка по 314 репозиториям - Crossref: соблюдение санкций, исключение членов
- Handle.Net Registry: регистрация префикса, ARK Alliance, w3id.org, PURL в Интернет-архиве, CSTR
- Dataverse 6.12: поставщики постоянных идентификаторов, версии наборов, цитирование данных
- DOI в InvenioRDM — Crossref с v14, родительский DOI с v12, необязательный DOI с v13, записи с ограниченным доступом
- Версии и DOI в Figshare
- DSpace 10: DOI, префикс Handle по умолчанию в dspace.cfg, поддержка Handle.Net Registry
- GeoNetwork 4.4: настройка DOI, жизненный цикл записи и рабочая копия
- CKAN 2.12: просмотр набора и скачивание ресурса — dataset.py, resource.py; ckanext-doi и его тестовые образы; проверено 12 октября 2026 года
- Huwise: идентификаторы набора в Automation API
- DCAT 3 — свойства версии, серии наборов, контрольная сумма дистрибутива
- Pew Research Center, When Online Content Disappears, май 2024
- T. Berners-Lee, Cool URIs don't change, 1998; политика постоянства адресов W3C
- M. Laakso, L. Matthias, N. Jahn, Open is not forever: a study of vanished open access journals, 2020
- ARDC: национальная стратегия постоянных идентификаторов Австралии, служба DOI DataCite
- Выгрузка реестра dataportals-registry, выпуск 1.27.0 от 15 октября 2026 года: пометка DOI у 2008 каталогов, выборка 120 установок DSpace с OAI-PMH
- И. Бегтин, Telegram: реестр отечественного ПО и гниение ссылок, 15.04.2021; Crossref, санкции и CSTR, 23.02.2023; австралийская стратегия идентификаторов, 24.03.2023; исчезнувшие журналы открытого доступа, 19.09.2020
- И. Бегтин, Государственные реестры, апрель 2021 — две модели ведения реестров и требования к ним
- Экспорт цитирования, полнота метаданных, жизненный цикл, архивация
- Overture Maps, GERS — реестр идентификаторов, журнал изменений, таблицы соответствия, замена идентификаторов на UUID в выпуске 2025-06-25.0; OpenSanctions, модель утверждений — канонический идентификатор после устранения дублей