Открыть сервис

OAI-PMH: протокол обмена метаданными

OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting, Протокол инициативы открытых архивов для сбора метаданных) — это протокол прикладного уровня, разработанный для автоматического обмена метаданными между информационными системами. Он позволяет агрегаторам (сервисам-сборщикам) периодически запрашивать и получать описания объектов (научных статей, книг, диссертаций, музейных экспонатов) из репозиториев-источников, не требуя от последних предоставления прямого доступа к своим базам данных.

Протокол был создан в рамках инициативы Open Archives Initiative (OAI), возникшей в конце 1990-х годов для координации электронных научных архивов. Первая стабильная версия OAI-PMH 2.0 была опубликована в 2002 году и с тех пор остаётся неизменной, что обеспечивает высокую совместимость систем. В отличие от многих веб-сервисов, OAI-PMH работает по простой модели HTTP: клиент отправляет GET- или POST-запросы, а сервер отвечает XML-документами.

Архитектура и основные понятия

В модели OAI-PMH участвуют две стороны: провайдер данных (data provider) — сервер, хранящий метаданные, и провайдер сервисов (service provider) — агрегатор, который эти метаданные собирает. Взаимодействие строится вокруг нескольких ключевых сущностей:

  • Репозиторий — HTTP-эндпоинт (URL), который принимает запросы протокола.
  • Объект (item) — логическая единица хранения, доступная в репозитории.
  • Запись (record) — сериализованное представление метаданных объекта в формате XML.
  • Идентификатор (identifier) — уникальная строка, однозначно определяющая объект в рамках репозитория.
  • Набор (set) — необязательная группировка записей для выборочного сбора (например, по тематике или дате).

Для описания метаданных используется схема Dublin Core (DC) в её простом варианте — 15 элементов (заголовок, автор, дата, тема и т. д.). Именно поддержка этого формата обязательна для всех репозиториев, хотя протокол допускает использование и других схем (MARCXML, MODS, RDF), которые передаются в пространствах имён XML.

Методы (глаголы) протокола

OAI-PMH определяет шесть обязательных запросов, называемых «глаголами»:

  1. GetRecord — возвращает одну конкретную запись по её идентификатору.
  2. Identify — предоставляет информацию о самом репозитории: название, административные контакты, поддерживаемые схемы метаданных, версию протокола.
  3. ListIdentifiers — выдаёт список идентификаторов записей (без самих метаданных), что полезно для быстрой проверки изменений.
  4. ListMetadataFormats — перечисляет схемы метаданных, доступные в репозитории.
  5. ListRecords — основной метод для массового сбора записей; работает с поддержкой постраничной навигации.
  6. ListSets — возвращает структуру наборов, если они настроены.

Каждый запрос содержит обязательный параметр verb (название глагола) и дополнительные параметры, такие как metadataPrefix (формат вывода), from и until (диапазон дат изменения), set (фильтр по набору) и resumptionToken (токен для продолжения выборки).

Механизм инкрементального сбора

Ключевая особенность OAI-PMH — поддержка выборочного сбора (selective harvesting). Агрегатор может запрашивать только записи, изменённые за определённый период, используя параметры from и until. Это снижает нагрузку на сеть и серверы. Для этого каждый объект в репозитории имеет дату последнего изменения (datestamp), которая фиксируется в записи.

При больших объёмах данных сервер разбивает ответ на порции (обычно по 100–1000 записей). В конце каждой порции возвращается элемент resumptionToken — зашифрованная строка, которую клиент должен отправить в следующем запросе, чтобы получить следующую порцию. Цикл продолжается, пока токен не станет пустым, что означает завершение выборки.

Применение

OAI-PMH получил широкое распространение в академической и библиотечной среде. Наиболее известные примеры использования:

  • Национальные и университетские репозитории: электронные библиотеки (например, «КиберЛенинка», НЭБ eLibrary) предоставляют свои коллекции через OAI-PMH для интеграции в мировые агрегаторы.
  • Агрегаторы научной информации: платформы OpenAIRE, CORE, BASE собирают метаданные из тысяч репозиториев по всему миру, создавая единые точки поиска.
  • Цифровые библиотеки и музеи: Европейская библиотека Europeana использует OAI-PMH для сбора описаний культурных объектов из национальных библиотек и музеев стран-участниц.
  • Системы диссертационных советов: обмен данными о защищённых работах между организациями.

В России протокол активно применяется в проектах Российской государственной библиотеки и в агрегаторах научных публикаций. Многие вузовские репозитории на базе платформ DSpace, EPrints и Islandora по умолчанию поддерживают OAI-PMH.

Ограничения и критика

Несмотря на простоту, протокол имеет ряд недостатков. Он не поддерживает полнотекстовый поиск — передаются только метаданные, а не содержимое документов. Отсутствует механизм удаления записей: репозиторий может лишь пометить запись как удалённую, но не стереть её из выдачи агрегатора. Также OAI-PMH не гарантирует мгновенную синхронизацию — агрегаторы обычно опрашивают источники с интервалом от нескольких часов до нескольких дней.

Критики отмечают, что протокол остался технологией «нулевых» годов: он не поддерживает потоковую передачу, требует повторной выгрузки при изменении схемы метаданных и не имеет встроенных механизмов аутентификации. Тем не менее, благодаря своей простоте и массовой поддержке, OAI-PMH остаётся де-факто стандартом для обмена научными метаданными, уступая лишь более современным, но менее распространённым REST API и протоколу ResourceSync.

Источники

  • Lagoze, C., Van de Sompel, H. The Open Archives Initiative: Building a low-barrier interoperability framework. — JCDL, 2001.
  • Спецификация OAI-PMH Version 2.0 (официальный документ Open Archives Initiative).
  • Документация платформ DSpace и EPrints по настройке OAI-PMH.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →