Z39.50



Z39.50 — клиент-серверный протокол для поиска и получения информации с удаленных компьютерных баз данных. Он описывается ANSI/NISO стандартом Z39.50, а также ISO-стандартом 23950. Основное агентство, которое обслуживает стандарт — библиотека Конгресса.

Z39.50 широко применим в библиотечных кругах и часто включен в автоматизированные библиотечные информационные системы и персональные системы управления библиографической информацией. Межбиблиотечные поисковые каталоги для межбиблиотечного абонемента часто реализованы через запросы Z39.50.

Протокол Z39.50 используется с 1970-х годов, обновлённые версии выходили в 1988, 1992, 1995 и 2003 годах. На семантике протокола Z39.50 основан универсальный язык запросов Contextual Query Language (CQL, ранее — Common Query Language).

Z39.50 наиболее часто используется для запросов к библиографическим базам данных, представленным в формате MARC, поэтому эти два стандарта обычно связывают между собой. Но, на самом деле, Z39.50 может использоваться для доступа к данным, представленным и в других форматах.

Синтаксис поиска

Протокол Z39.50 поддерживает ряд функций, в том числе поиск, выборку, сортировку и просмотр. Поисковые запросы формулируются с помощью атрибутов, как правило, из набора BIB-1, включающего в себя шесть атрибутов, использующихся при поиске информации на сервере: использование, отношение, положение, структура, усечение, полнота. Синтаксис протокола Z39.50 позволяет формулировать очень сложные запросы.

На практике, однако, функциональность ограничивается разработчиками и коммерческими поставщиками конечных продуктов. Синтаксис Z39.50 не привязан к структуре конкретной базы данных; например, если клиент запрашивает поиск автора (использование атрибута 1003), то запрос направляется к серверу, который выполняет его, используя доступные ему индексы. Это позволяет формулировать без необходимости знать что-либо о целевой базе данных; но это также означает, что результаты одного и того же запроса могут варьироваться в широких пределах между различными серверами. Один сервер может обратиться к индексу автора; другой, например, к индексу личных имен, вне зависимости от того, являются ли они авторами; третий может не иметь индекса названия и перейти к поиску по индексу ключевых слов; а четвёртый может вообще возвращать ошибку.

Попытка исправить эту ситуацию была предпринята с помощью введения бат-профиля (по названию города Бат в Англии, где впервые встретилась рабочая группа в 1999 году). Этот документ жестко определяет точный синтаксис поиска для типичных библиографических запросов и ожидаемое поведение бат-совместимых серверов в ответ на эти запросы. Работа над бат-профилем продвигается медленно, но с её помощью протокол Z39.50 постепенно совершенствуется. Бат-профиль поддерживают библиотеки и архивы Канады.

Дальнейшее развитие

Постольку, поскольку Z39.50 был разработан очень давно, он не очень хорошо сочетается с современной инфраструктурой веб.

Библиотекой Конгресса США была разработана пара протоколов SRU/SRW (Search/Retrieve via URL и Search/Retrieve Web service), которые позволяют выполнять запросы на Contextual Query Language, но использовать HTTP в качестве транспорта. Они призваны заменить собой Z39.50, но, в настоящее время, сосуществуют с ним. SRU — это REST-протокол, SRW использует технологию SOAP. Оба протокола работают со структурами данных в формате XML и являются функционально идентичными.