Краткое резюме для посетителей: Архитектура доверенных метаданных
Когда вы обращаетесь к работе на этом сайте, имеющей DOI, вы взаимодействуете с Научным цифровым объектом, который сохранен, машиночитаем и строго описан.
Ключевые технические гарантии:
- Авторитетные идентификаторы: Мы используем политику «DOI-в-первую-очередь». Если существует DOI, все машиночитаемые метаданные (JSON-LD, Microformats) рассматривают URL DOI (например,
https://doi.org/...) как канонический идентификатор (@id), обеспечивая бесшовную интеграцию с глобальным академическим графом. - Многоуровневые метаданные: Для обеспечения максимальной совместимости каждая работа одновременно публикуется с:
- Schema.org (JSON-LD): Для поисковых систем и графов знаний.
- MODS 3.8 (XML): Для библиотечных систем и репозиториев (Fedora/Islandora).
- Highwire Press: Для Google Scholar, Zotero и Mendeley.
- PRISM и Dublin Core: Для агрегаторов и синдикации.
- Происхождение и целостность: Все цитирования проверяются через локальный Единый кэш цитирования (на базе SQLite) для предотвращения «вымирания ссылок» и обеспечения согласованности. Изменения отслеживаются через прозрачную систему Истории версий.
- FAIR Signposting и обнаружение: Сайт публикует типизированные signposting-ссылки (RFC 8288) в
<link>внутри<head>и генерирует статические RFC 9264 JSON Link Sets (linkset.json) на этапе сборки для научных объектов. Каталог обнаружения (FAIRiCat) доступен по/.well-known/faircat.json. Link Sets генерируются детерминировано, валидируются через Zod и интегрированы в конвейер сборки (scripts/generate-faircat.mjs,scripts/verify-signposting.*), что обеспечивает паритет между HTML-ссылками и JSON Link Sets и улучшает автоматическое обнаружение.
1. Преамбула и изложение цели
Настоящий документ устанавливает нормативную базу для присвоения Цифровых идентификаторов объектов (DOI) научным цифровым объектам, созданным автором. Он служит личным обязательством соблюдать Руководящие принципы FAIR (Находимость, Доступность, Совместимость и Повторное использование) [1]. Документ также опирается на результаты работы RDA по Data Foundation & Terminology (DFT) для согласования терминологии и модели объектов [2] и заранее учитывает требования программ финансирования, таких как Horizon Europe [3].
В отличие от стандартных блогов, эта платформа функционирует как Научный граф знаний. Она не просто размещает контент, но и генерирует структурированные семантические данные, позволяющие машинам анализировать, индексировать и цитировать работу с той же строгостью, что и в официальном научном журнале. Данная архитектура соответствует Дорожной карте цитирования данных для научных репозиториев, описанной Fenner et al. [4], гарантируя, что целевые страницы служат постоянными, богатыми метаданными точками входа.
1.1. Область применения
Настоящая политика применяется к Научным цифровым объектам (статьи, программное обеспечение, наборы данных, политики), которые соответствуют требованиям строгости для постоянного архивирования.
2. Быть Находимыми (Findable)
Первый шаг в использовании данных — это их нахождение. Метаданные и данные должны быть легко находимы как для людей, так и для компьютеров.
F1: (Мета)данным присваивается глобально уникальный и постоянный идентификатор
Принцип: Глобально уникальный, постоянный и разрешаемый идентификатор (PID) является фундаментальным требованием для находимости.
Реализация:
- Первичный PID: Всем соответствующим объектам присваивается DOI через Zenodo (DataCite) [5].
- Локальный канонический ID: Платформа генерирует стабильные канонические URL, которые сохраняются даже при изменении базовой инфраструктуры.
- Интеграция с Sitemap: Система сборки внедряет точные даты
lastmod, полученные из метаданных контента, в XML-карту сайта, обеспечивая индексацию поисковыми системами наиболее актуальных версий.
F2: Данные описываются с помощью богатых метаданных
Принцип: Чем богаче метаданные, тем выше вероятность обнаружения объекта.
Реализация: Платформа использует Многоуровневую систему метаданных для описания каждого объекта:
- Описательные: Название, Аннотация, Ключевые слова, Время чтения, Классификация (Hub/Tier).
- Административные: Лицензия (CC BY 4.0), Правообладатель, Версия, Даты публикации/изменения.
- Структурные: Генерация MODS 3.8 XML для библиотечной каталогизации и метаданных PRISM для издательских агрегаторов.
- Библиографические: Теги Highwire Press обеспечивают немедленный и точный импорт менеджерами ссылок (Zotero, Mendeley).
F3: Метаданные четко и явно включают идентификатор данных, которые они описывают
Принцип: Запись метаданных должна быть однозначно связана с конкретным цифровым объектом.
Реализация:
- Разрешение «DOI-в-первую-очередь»: Система реализует Стратегию авторитетных @id. При генерации Schema.org JSON-LD, если в метаданных присутствует валидный DOI, поле
@idузлаCreativeWorkилиScholarlyArticleустанавливается на URL DOI, а не на локальный URL страницы. Это жестко связывает семантические данные с постоянным идентификатором. - Перекрестная проверка: Локальный Единый кэш цитирования гарантирует, что DOI, записанный в локальных метаданных, совпадает с DOI, зарегистрированным во внешнем репозитории (Zenodo).
F4: (Мета)данные регистрируются или индексируются в ресурсе с возможностью поиска
Принцип: Метаданные должны быть размещены в ресурсах, индексируемых поисковыми системами.
Реализация:
- Глобальная индексация: Через Zenodo метаданные передаются в DataCite Commons, OpenAIRE и Google Scholar.
- Локальное обнаружение: Сайт предоставляет Atom 1.0 фиды (двуязычные en/ru), содержащие богатые метаданные и RDF-совместимые ссылки на лицензии, что позволяет агрегаторам мгновенно обнаруживать обновления контента.
3. Быть Доступными (Accessible)
Как только пользователь находит данные, ему нужно знать, как получить к ним доступ.
A1: (Мета)данные извлекаются по их идентификатору с использованием стандартизированного протокола
Принцип: PID должен быть разрешаемым с использованием стандартного открытого протокола.
Реализация:
- Протокол: Для всех ресурсов принудительно используется HTTPS.
- Стандарты доступности: Платформа соответствует стандарту WCAG 2.2 Level AA. Это гарантирует, что «Доступность» относится ко всем людям, включая пользователей ассистивных технологий. Функции включают семантический HTML5, области aria-live для динамического контента и навигацию skip-links.
A2: Метаданные доступны, даже когда данные больше не доступны
Принцип: Метаданные должны сохраняться, даже если объект удален.
Реализация:
- Tombstoning (Надгробие): В случае ретракции (отзыва) локальная страница заменяется уведомлением «Tombstone», но записи метаданных MODS и JSON-LD остаются доступными для подтверждения существования и статуса работы.
- Архивная избыточность: Zenodo гарантирует сохранность метаданных независимо от работоспособности данного веб-сайта.
4. Быть Совместимыми (Interoperable)
Данные должны интегрироваться с другими данными и взаимодействовать с приложениями.
I1: (Мета)данные используют формальный, доступный язык для представления знаний
Принцип: Метаданные должны быть структурированы для машинного разбора.
Реализация: Платформа одновременно предоставляет метаданные на нескольких формальных языках, придерживаясь лучших практик академической разметки, описанных Verrelli [6]:
- JSON-LD: Сериализация с использованием словаря Schema.org.
- XML: Сериализация с использованием стандарта MODS 3.8.
- Microformats 2.0: HTML-классы (
h-entry,h-cite,u-uid) позволяют парсерам извлекать данные непосредственно из DOM. - RDF: Фиды Atom включают
<link rel="license">, указывающие на RDF URI лицензий Creative Commons.
I2: (Мета)данные используют словари, следующие принципам FAIR
Принцип: Значения в метаданных должны использовать термины из стандартных словарей.
Реализация:
- Контролируемые словари: Ключевые слова и темы по возможности сопоставляются с сущностями Wikidata [7].
- Идентификаторы персон: Авторы идентифицируются через URI ORCID, ISNI и VIAF, а не просто текстовыми строками.
- URI лицензий: Лицензии указываются через канонические URI SPDX или Creative Commons (например,
https://creativecommons.org/licenses/by/4.0/).
I3: (Мета)данные включают квалифицированные ссылки на другие (мета)данные
Принцип: Метаданные должны быть богато взаимосвязаны.
Реализация:
- Единая система цитирования: Платформа поддерживает локальный кэш SQLite всех цитируемых работ. Это позволяет генерировать квалифицированные ссылки (например,
dcterms:references,citation_reference), верифицированные через CrossRef и DataCite. - Двунаправленная связь: Записи метаданных включают отношения
IsIdenticalTo, связывающие локальное представление с архивным DOI.
5. Быть Повторно Используемыми (Reusable)
Конечная цель FAIR — оптимизировать повторное использование данных.
R1: Мета(данные) богато описаны множеством точных атрибутов
Принцип: Предоставление достаточного контекста для повторного использования.
R1.1: (Мета)данные выпускаются с четкой и доступной лицензией
Реализация:
- Лицензия по умолчанию: CC BY 4.0 для контента; CC0 для метаданных.
- Машиночитаемость: Лицензия встроена в JSON-LD (
license), теги Highwire, MODS XML (<accessCondition>) и фиды Atom (RFC 4946).
R1.2: (Мета)данные связаны с подробной информацией о происхождении
Реализация:
- История версий: Специализированный Менеджер истории версий отслеживает изменения, дифы и архивные снимки (Wayback Machine) для каждого документа.
- Происхождение изображений: Служба Сохранения метаданных изображений гарантирует, что встроенные права XMP/IPTC (Автор, Копирайт) сохраняются при оптимизации изображений и конвертации форматов (например, JPG в AVIF).
R1.3: (Мета)данные соответствуют стандартам сообщества
Реализация:
- Безопасность: Платформа придерживается стандартов OWASP ASVS L3 для валидации ввода и кодирования вывода, обеспечивая целостность предоставляемых данных.
- Библиография: Экспорт цитирования предоставляется в форматах BibTeX и RIS, соответствующих стандартным академическим рабочим процессам.
6. Стратегия согласованности метаданных
Для обеспечения согласованности в распределенной сети данных (Локальный сайт ↔ Zenodo ↔ Поисковые системы):
- Канонический источник: Локальные frontmatter-данные служат единым источником истины.
- Валидация при сборке: Валидатор метаданных запускается во время сборки для принудительной проверки наличия обязательных полей (например, проверка наличия DOI, если тип контента — «Research»).
- Обнаружение конфликтов: Сборщик (harvester) обнаруживает, если локальный ID ссылки конфликтует с внешним авторитетным ID (например, несовпадающие DOI), и останавливает сборку для предотвращения повреждения данных.
7. Реализация и управление
7.1. Полномочия принятия решений
Автор сохраняет за собой исключительное право на присвоение DOI.
7.2. Обеспечение качества
Автоматизированные конвейеры CI/CD проверяют:
- Валидность схем (JSON-LD, MODS).
- Целостность ссылок (отсутствие 404).
- Соответствие доступности (WCAG).
- Заголовки безопасности (CSP).
7.3. Ретракция (Отзыв)
Ретракции обрабатываются прозрачно через систему Истории версий и обновление метаданных у регистратора DOI, гарантируя, что страница-«надгробие» остается обнаруживаемой.
7.4. Система FAIR Signposting
Сайт реализует конвейер FAIR Signposting, который генерирует типизированные ссылки RFC 8288 в <head> и статические Link Sets RFC 9264 (linkset.json) на этапе сборки для страниц блогов, правовых документов, семейных и авторских страниц. Link Sets валидируются через Zod во время сборки и записываются в dist/.../linkset.json. Каталог обнаружения (FAIRiCat) формируется и публикуется в /.well-known/faircat.json с помощью scripts/generate-faircat.mjs. Конвейер гарантирует выдачу rel-отношений cite-as, author, license, describedby, item, collection, type и linkset и включает автоматические проверки паритета (scripts/verify-signposting-parity.mjs) как часть защищённых сборок (npm run build:cf:stats).
7.5. Генерация MODS и валидация
Система генерации MODS формирует MODS 3.8 XML для всех коллекций и теперь включает DOI как <identifier type="doi">, когда он присутствует. Выходные файлы размещаются в public/mods/{lang}/{collection}/{slug}.mods. Сборка использует стратегию предварительной упаковки через esbuild (с резервными сценариями) для запуска TypeScript-генератора (src/lib/mods-generator.ts) через scripts/generate-mods-metadata.mjs. Валидация выполняется scripts/validate-mods.mjs (fast-xml-parser + xmllint) и запускается в защищённых сборках.
7.6. WebFinger: идентификация и обнаружение
Доступен WebFinger endpoint по адресу /.well-known/webfinger, реализованный как Cloudflare Pages Function (functions/.well-known/webfinger.ts). Endpoint возвращает JRD (application/jrd+json), формируется из каноничной сущности персоны (src/data/person_david_osipov.ts) и поддерживает ресурсы acct:, mailto: и https: с необязательным фильтром rel. Ответы содержат subject, aliases, properties и links (например: me, profile-page, avatar, mailto, pgpkey, updates-from). Заголовки безопасности и CORS для endpoint настроены в public/_headers.