METS
METS (Metadata Encoding & Transmission Standard) — это стандарт кодирования и передачи метаданных, разработанный для структурирования метаданных цифровых объектов. Поддерживается редакционным советом METS совместно с Библиотекой Конгресса США.
Описание
METS предоставляет XML схему для структурирования метаданных, связывания файлов с метаданными и опис ания структуры цифровых объектов.
Версии
- METS 1 — версия, используемая большинством систем; последняя редакция схемы — 1.12.1 (октябрь 2019 года). Пространство имён:
http://www.loc.gov/METS/. - METS 2 — новая, обратно несовместимая версия: упрощённая схема без зависимости от XLink, секции
dmdSecиamdSecобъединены вmdSec, удаленыstructLinkиbehaviorSec. Пространство имён:http://www.loc.gov/METS/v2. Подробнее — METS 2 на сайте LoC и mets.github.io.
METS 1 продолжает поддерживаться; примеры ниже относятся к METS 1.
Особенности
- Структурирование: Структурирует метаданные в единый документ
- Связывание: Связывает файлы с их метаданными
- Гибкость: Можно адаптировать под различные системы
- XML формат: Стандартный XML формат
Структура METS
Основные секции
METS-документ (версии 1) состоит из семи секций. По схеме обязательна только structMap, остальные необязательны:
- metsHdr — заголовок документа: агенты-создатели, даты, статус (необязательная).
- dmdSec — описательные метаданные: Dublin Core, MODS, собственный XML.
- amdSec — административные метаданные. Внутри четыре подсекции:
techMD— технические метаданные (формат, характеристики файлов);rightsMD— правовая информация (лицензии, ограничения);sourceMD— метаданные исходных (аналоговых или оцифрованных) объектов;digiprovMD— метаданные происхождения (например, PREMIS-события).
- fileSec — секция файлов: все файлы с идентификаторами, расположением и контрольными суммами.
- structMap — структурная карта: иерархия, описывающая логическую и физическую структуру объекта (обязательная).
- structLink — связи между узлами структурной карты (необязательная).
- behaviorSec — поведение объекта: привязка исполняемого кода (необязательная).
Пример документа
Пример проходит валидацию xmllint --schema mets.xsd по схеме METS 1.12.1:
<mets:mets xmlns:mets="http://www.loc.gov/METS/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:premis="http://www.loc.gov/premis/v3">
<mets:metsHdr CREATEDATE="2024-01-01T12:00:00Z">
<mets:agent ROLE="CREATOR" TYPE="ORGANIZATION">
<mets:name>Ruarxive</mets:name>
</mets:agent>
</mets:metsHdr>
<mets:dmdSec ID="DMD1">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dc:title>Web Archive Collection</dc:title>
<dc:creator>Ruarxive</dc:creator>
<dc:date>2024-01-01</dc:date>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:amdSec ID="AMD1">
<mets:digiprovMD ID="DP1">
<mets:mdWrap MDTYPE="PREMIS:EVENT">
<mets:xmlData>
<premis:event>...</premis:event>
</mets:xmlData>
</mets:mdWrap>
</mets:digiprovMD>
</mets:amdSec>
<mets:fileSec>
<mets:fileGrp USE="archive">
<mets:file ID="WARC1" MIMETYPE="application/warc" ADMID="DP1"
CHECKSUM="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
CHECKSUMTYPE="SHA-256">
<mets:FLocat LOCTYPE="URL" xlink:href="archive.warc.gz"/>
</mets:file>
</mets:fileGrp>
</mets:fileSec>
<mets:structMap TYPE="LOGICAL" LABEL="Site hierarchy">
<mets:div LABEL="Главная" TYPE="section" DMDID="DMD1">
<mets:div LABEL="Новости" TYPE="subsection">
<mets:fptr FILEID="WARC1"/>
</mets:div>
</mets:div>
</mets:structMap>
</mets:mets>
Использование в архивации
Структурирование архивов
METS можно использовать для структурирования веб-архивов:
- fileSec: Список WARC файлов
- dmdSec: Описательные метаданные коллекции
- amdSec: Административные метаданные (PREMIS)
- structMap: Структура архива
Контрольные суммы файлов
Контрольная сумма задаётся атрибутами элемента mets:file — CHECKSUM и CHECKSUMTYPE (допустимые значения включают MD5, SHA-1, SHA-256, SHA-512). Отдельного элемента checksum в METS нет.
<mets:file ID="WARC1" MIMETYPE="application/warc"
CHECKSUM="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
CHECKSUMTYPE="SHA-256">
<mets:FLocat LOCTYPE="URL" xlink:href="archive.warc.gz"/>
</mets:file>
Структурные карты (structMap)
METS поддерживает несколько структурных карт с разной семантикой. Атрибут TYPE указывает назначение:
LOGICAL— интеллектуальная структура объекта (разделы, главы, страницы). Для веб-архива — иерархия сайта.PHYSICAL— физическая структура (порядок и группировка файлов на диске).
Для сложных объектов принято включать обе карты; в METS 1 связи между их узлами можно описать через <mets:structLink>.
<mets:structMap TYPE="LOGICAL" LABEL="Site hierarchy">
<mets:div LABEL="Главная" TYPE="section">
<mets:div LABEL="Новости" TYPE="subsection">
<mets:fptr FILEID="PAGE1"/>
</mets:div>
</mets:div>
</mets:structMap>
Интеграция с другими стандартами
PREMIS
METS часто используется вместе с PREMIS:
- METS предоставляет структуру
- PREMIS предоставляет метаданные сохранения в
amdSec(обычно в подсекцияхtechMD,digiprovMDиrightsMD); дляMDTYPEпредусмотрены значенияPREMIS,PREMIS:OBJECT,PREMIS:AGENT,PREMIS:RIGHTS,PREMIS:EVENT
Dublin Core
METS может включать Dublin Core метаданные в dmdSec:
<mets:dmdSec ID="DMD1">
<mets:mdWrap MDTYPE="DC">
<mets:xmlData>
<dc:title>Web Archive</dc:title>
<dc:creator>Ruarxive</dc:creator>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
Профили и валидация
METS Profile — формальное ограничение METS под нужды сообщества: фиксирует, какие секции обязательны, какие схемы метаданных разрешены, какие ограничения на структуру. Профили публикуются как XML-документы; реестр профилей METS 1 ведётся на сайте METS.
Для веб-архивов практический интерес представляют:
- PREMIS in METS — как встраивать PREMIS в
amdSec(там же — ссылки на руководство и инструменты).