Предупреждение. Пост содержит зашкаливающее количество ненависти! Уберите больных беременных кормящих детей с слабой психикой от монитора. Хотя где вы таких детей нашли?

Всем дня доброго.
Позвольте начать с цитаты из википедии
UNIMARC (акроним от Universal Machine Readable Cataloging) — формат, разработанный при содействии Международной Федерации библиотечных ассоциаций и учреждений (IFLA) в 1977 году для решения проблемы несовместимости между различными национальными МАРК-форматами. Главной целью было создание международного МАРК-формата, который мог бы разместить библиографические записи всех видов МАРК-форматов. Такие записи могли быть преобразованы в UNIMARC, который являлся бы базовым форматом, и из него, если нужно, — в любой другой МАРК-формат. Формат UNIMARC облегчил международный обмен библиографическими сведениями в машиночитаемой форме.


для решения проблемы несовместимости между различными национальными МАРК-форматами

То есть, данный формат был разработан для того что бы быть унифицировать библиографические записи и отойти от того состояния, когда в каждой стране был свой собственный формат MARC не совместимый с остальными. Народ собрался, подумал и разработал единый формат. До определенного времени все им пользовались, и все были счастливы (ну кроме разработчиков, которым надо было писать функции импорта\экспорта работающих с этим форматом).

Но, мы же не ищем легких путей…


Каковы же проблемы UNIMARC с точки зрения программиста?
Начнем по порядку.
  • Хранение всех смещений и длинн записи 5 байтной строкой
  • Хранение номеров полей и индексов подполей строкой (на самом деле не такая уж серьезная проблема, но всё таки)
  • Возможность использования двух вариантов кодировок — MARC8 и UTF8 (на самом деле можно пользоваться любой, но стандартом обговорены только эти две, а соответсвенно и флаг-указатель кодировки только для них). MARC8, не такая уж распространенная кодировка


В остальном это вполне удобный формат, где записи хранятся друг за другом, присутсвуют разделители, а формат записи примерно такой:
Лидер (информация о записи, необходимая для чтения записи)
ПеременноеПоле1
-ПеременноеПодПоле1
-…
-ПеременноеПодПолеN

ПеременноеПолеM

Есть специальные таблицы, где указано какое поле\подполе за что отвечает, какие можно использовать в своих целях, ну и так далее.

Казалось бы — идилия, не без проблем, но жить можно.

И тут на сцену врывается RusMARC
1. 1. Назначение Российского коммуникативного формата

Российский коммуникативный формат разработан по заказу Министерства культуры в рамках программы LIBNET под эгидой Российской Библиотечной ассоциации. Формат призван быть посредником при осуществлении обмена библиографическими записями и способствовать решению следующих задач:

а. Улучшение доступности библиографической информации
б. Создание сводных каталогов
в. Сокращение затрат при каталогизации

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

1. 4. Взаимоотношения формата UNIMARC и Российского коммуникативного формата

Направления, в которых проводились работы по адаптации формата UNIMARC, определили и взаимоотношения двух форматов. Российский коммуникативный формат не является совершенно новой, отдельно стоящей разработкой.
Российский коммуникативный формат — это российская версия Международного коммуникативного формата UNIMARC, в трактовке и категориях действующих в России ГОСТов и Правил каталогизации, базирующаяся на выборе наиболее общих схем представления элементов данных.
С практической точки зрения это означает, что любая запись, переданная в Российском коммуникативном формате, должна адекватно восприниматься любым программным обеспечением, о котором заявлено, что данное программное обеспечение работает с форматом UNIMARC.


Какие красивые мысли…
Что мы имеем на практике в формате RusMARC?
  • Зоопарк кодировок, да, тут можно использовать utf8\marc8\cp1251\ibm866 и даже стандарт не скажет тебе «ата-та!»
  • Отсутсвие флага указывающего на кодировку
  • Ну и, бонусом, не соответсвие назначения полей и подполей с форматом UNIMARC
  • Ах да, содержимое «лидера записи» то же не соответсвует UNIMARC, хотя, да, софт умеющий читать UNIMARC разберет


Объемы проделанной работы поражают, перемешанны почти все поля и подполя, «лидер записи» изменен, ведь нам не нужен флаг кодировки, за место него самое нам необходимо знать, архивный контроль или нет, какая нам разница, как будут определять кодировку?

Господа присяжные, мне нечего добавить.
Как Вы считаете, обосновано ли создание отечественного варианта формата MARC

Проголосовало 176 человек. Воздержалось 60 человек.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Поделиться с друзьями
-->

Комментарии (34)


  1. Shaz
    18.05.2016 16:41
    +1

    Ну тут как и всегда, неплохая идея и отстойная реализация.
    Хотя если уж затрагивать тему библиотек и их IT-составляющей, то намного больше ненависти способны сгенерировать СУБД. (самые передовые и не имеющие аналогов в мире)


    1. t0pep0
      18.05.2016 16:42

      В том-то и проблема, что RusMARC, в итоге, предназначен быть в роли «выгрузок» из этих СУБД.
      Но согласен


      1. blpra
        19.05.2016 12:42

        MARC вымирает потихоньку, даже сама библиотека конгресса (создатели) так считают и «пишут» новый формат…


        1. t0pep0
          19.05.2016 12:43

          Прошу пруфлинк


          1. blpra
            19.05.2016 12:53
            +1

            Вот линк:

            https://www.loc.gov/bibframe/

            но это и не важно, ILS уже давно не хранят библиотечные данные в MARC, a в каком формате их передавать… тоже не суть важно
            так что, по моему, разработка (библиотеками!) новых форматов — бесполезное занятие… мне тоже хлеб с маслом нужен :)


  1. Shaz
    18.05.2016 16:59

    На правах оффтопа:

    Тут есть 25 человек как-то связанных с библиотеками?


    1. shimoda
      18.05.2016 17:11

      Думаю большинство из них это «вставлю ка я своё мнение. вам же без него никак» =)


      1. Nuwen
        19.05.2016 08:37

        А, так нужно было только работникам библиотек отвечать? Тогда, пожалуйста, не учитывайте один голос во втором пункте, я сперва проголосовал, а потом эту ветку комментариев прочёл.
        | вам же без него никак
        Вводит в заблуждение форма голосования и то, что у сайта не библиотечная направленность, я подумал моё мнение и нужно.
        А если без сарказма, то для составления своего мнения по этому вопросу, мне хватило уже приведённой статьи в википедии и взгляда на название стандарта.


        1. Shaz
          19.05.2016 14:03

          Видать я фигово выражаю свои мысли. Меня интересовало имеются ли на этот ресурсе админы/разработчики/etc хоть каким либо образом связанные с библиотеками. Оказалось есть. Ну а в целом и ваше мнение нужно. Для работы с этим стандартом кто-то где-то что-то ведь пишет, и мало ли где его решат применить.


    1. Gorynych23
      18.05.2016 17:20

      Один точно есть.


    1. antropophob
      19.05.2016 11:34

      Есть.

      На правах комментария:
      Стоит отдавать себе отчёт, что многие библиотечные it-решения разрабатывали и реализовывали не только it-специалисты, но и библиотекари (а зачастую и только они). Тот же самый marc и rusmarc — это попытка перенести в электронный вид библиотечные карточки, которые должны быть оформлены по ГОСТу, но, разумеется, это совсем не всегда так. И тут в дело включается ещё и человеческий фактор. Отсюда, как мне кажется, и вся неразбериха с rusmarc — на входе дано библиографическое описание в виде библиотечной карточки, девочка-оператор руками переносит его через какой-нибудь интерфейс (коих много разных) в поля rusmarc, по пути сама добавляя ошибки. На выходе — боль.


      1. t0pep0
        19.05.2016 11:36

        В том-то и заключается проблема, на мой взгляд, что IT-специалисты привлекаются (не только при разработке данного формата и не только в библио-сфере) в последний момент.


  1. shimoda
    18.05.2016 17:00
    +2

    Ну в конечном итоге и сам UNIMARC попал в ситуацию «У нас есть n конкурирующих стандартов. Давайте напишем единый! Результат: у нас есть n+1 конкурирующих стандартов.» Так как у многих программ всё так же остался довольно популярен USMARC или MARC21. Я уж молчу про Dublin Core и недавно открытые мною MODS, METS, MIX…

    А вообще если не секрет, в какой ситуации вы столкнулись с библиотечными форматами? Я то просто по долгу службы с ними давно работаю…


    1. t0pep0
      18.05.2016 17:00

      По долгу службы, отписал в ЛС


    1. antropophob
      19.05.2016 11:53

      Я бы не сказал, что marc'и и dublin core конкурируют. Всё же создавались они с разными целями — marc для приведения бумажных картотек к машиночитаемому виду, а dublin core — скорее для электронных изданий.


  1. amarao
    18.05.2016 17:33

    А почему бы не использовать формат, в котором остальные библиотеки работают? Например, флибуста использует ODPS и все приличные читалки его умеют использовать.

    Вполне вменяемый формат, imho: http://opds-spec.org/specs/opds-catalog-1-1-20110627/ (если нос на xml прищепкой закрыть)


    1. shimoda
      18.05.2016 17:47

      Взглянул я на этот OPDS. Формат чисто для распространения книжных каталогов для разных читалочек. В то время как MARC форматы служат для хранения библиографических описаний. Так что тут совершенно разные ситуации.


    1. t0pep0
      19.05.2016 08:30

      OPDS действительно вменяемый формат, но увы не подходит для библиотечных нужд.


  1. impetus
    18.05.2016 17:41
    +1

    Я как-то давно пытался выснить, какого лешего в российском госте единицей тепловой энергии является не джоуль а калория. А электрической киловатт-час, а не опять же (мега/гига/тера)джоуль. (как выяснилось даже имеет официальное местами обязательное хождение некий "тут")
    В итоге мне процитировали, что на одной конференции глава ростеста (тогда ещё госстандарта) грубо в микрофон очедному докладчику у которого были цифры в СИ сказал «я ваших попугаях не понимаю».
    В общем мои соболезнования, «добро пожаловать в реальный мир», ёрш его в качель…


  1. oleg0xff
    18.05.2016 18:01

    Я когда то занимался этим форматом, и была мысыль написать opensourse электронный каталог c веб и дестктоп гуи интерфейсом, но потом все библиотеки бодро закупили опак и я понял что это никому не нужно.


    1. Shaz
      18.05.2016 18:32
      +1

      На самом деле нужно. А сейчас приходиться выбирать между разными сортами г*вна, так как нормальных систем нету.
      В СПБ большая часть известных мне бибилотек сидит на жутком поделии от ГПНТБ под названием «ИРБИС», и вменяемой альтернативы пока не видно.


      1. oleg0xff
        18.05.2016 18:42

        Ну если найдете библиотеку(а лучше несколько) заинтересованую в opensourse программе, то свяжитесь со мной — я попробую все же сделать. Потому что без обратной связи с реальными пользователями можно сделать, что то такое, что никому не нужно, а мне хотелось бы сделать востребованный продукт.


        1. Shaz
          18.05.2016 21:52
          +2

          Как пример я бы мог привести питерский КСОБ (http://ksob.spb.ru), там стоят задачи организации единой системы выдачи книг для всех библиотек города, которая сейчас и строится вокруг злосчастного «ирбиса», совершенно не пригодного для таких масштабов.
          К сожалению, как и водится в гос организациях — народ весьма консервативен, и что-то новое внедрить очень тяжело, даже при условии что этот продукт решает все существующие проблемы.

          А так, есть у меня в планах написать статью про библиотеки, IT, и сопутствующие проблемы, может быть и не все но хотя бы про те, с которыми я столкнулся за 4 года работы в этой области.


      1. blpra
        19.05.2016 12:57

        купите наш продукт, хотя кажется на Российский рынок мы не хотим :(


    1. t0pep0
      19.05.2016 13:11

      Нужно. Готов поконтрибьютить


      1. oleg0xff
        19.05.2016 14:38

        Предлагаю по скайпу на выходных созвониться


  1. duplodel
    19.05.2016 09:31
    +1

    Как админ библиотеки скажу — единый формат для России нужен (не в том виде как сейчас, а нормальный продуманный формат), а вот поделия отечественных субд — это просто сплошная попоболь. Вышеупомянутый ИРБИС вызывает у меня просто катастрофические приступы ярости. Не знаю точно на чем он написан (кроме дельфевой оболочки), но вспоминается анекдот:
    — паскаль плохой язык программирования — он не поддерживает более 256 вложенных циклов if else.

    Так вот — в ирбис написан на «хорошем» языке программирования, он поддерживает больше.

    На счет альтернативы -был раньше МАРК SQL — не предел мечтаний, но нормальная софтина, работает что характерно под SQL, все на месте, гибка, настраиваемая, администрировать было удобно. Сейчас они умерли, но часть разработчиков отпачковались и сделали свою похожую СУБД с шахматами и поэтессами.

    Ирбис же уныл начиная от внешнего вида заканчивая возможностями администрирования — для каждого клиента вручную создается файлик с настройками, для ограничения доступа каждому клиенту создается файлик со списком баз которые он видит (вручную естественно), любая правка логики работы — вручную в файлике. Ах да ограничение на доступ к бд имеет всего ТРИ пункта — видит базу и может все; видит, но не может ничего; не видит базу. Все попытки к ограничению пользователя на предмет конкретного действия — это костыль на десяток строк, зачастую не работающий.

    Вики ИРБИСА пестрит неописанными функциями, запятая, кавычка, вопросик или другая закорючка может нести разную функцию в разном месте.

    Мда. Коммент по хейтерости получился жестче, чем статья автора.


    1. t0pep0
      19.05.2016 09:32

      HATE! К счастью, у нас ИРБИС не используется, но, у нас другая причина ненависти — OPAC, мои соболезнования


    1. shimoda
      19.05.2016 13:05

      Ирбис написан на дельфях. И да я согласен что это исчадие ада. Не даром человек который писал серверную часть в монастырь уходил на годы. Но среди других отечественных программ включая тот же marc sql всё обстоит не лучше. По крайней мере ирбис позволяет себя довольно сильно модифицировать. Собственно большая часть моей работы заключается в создании специфичных баз, словарей, форматов вывода.
      А создание единого формата для России… Ну в большинстве случаев наше импорта/экспорта вполне справляет rusmarc. И если уж и говорить о создании нового единого формата, то тут надо скорее начать с изменения формата самой библиографической записи.


      1. Shaz
        19.05.2016 14:08

        А формат самой библиографической записи разве задан ГОСТом? Или ты про то что этот ГОСТ никто не читал и пишет так как хочет?


        1. shimoda
          19.05.2016 15:14

          Задан ГОСТом, но во первых сам ГОСТ неплохо бы переработать, во вторых не все его строго соблюдают и городят свои улучшения. Иногда оправданно, но результат всё равно печальный.


      1. duplodel
        20.05.2016 08:10

        Марк sql был интуитивно понятен, набор полей под любую базу можно было сделать легко, права доступа — в два клика, вывод форм на sql запросах, половина из которых понятна даже мне (никогда прежде sql не видел и не щупал), все армы в одном флаконе и доступ ограничивается учеткой и не надо каждый арм отдельно ставить, переключение между армами в один клик, вменяемая многоуровневость, а не привязка записей друг к другу по шифру, элементарное создание любого словаря из имеющихся полей, у каждой записи есть ID, а не мифический mfn, который меняется если были удалены записи (благодаря этому нельзя дать постоянную ссылку на конкретную книгу в веб-ирбисе, а только на результат поиска, либо колхозить ID самому.). Единственный реальный минус — список баз привязывается к компьютеру, а не к учетке.

        В ирбисе же, я порой не понимаю что делаю, все методом проб и ошибок. Да за 3 года я некисло прокачался и могу создать любую специфическую базу, любые простые словари (если под пивом то и сложные), могу перенести данные из любой базы, не важно в какие поля они упадут, НО эти навыки мне по жизни не пригодятся, в отличии от знания sql.


    1. Shaz
      19.05.2016 14:16

      А вы не пробовали заниматься горизонтальным масшатибированием ИРБИСА? Например организовать доступ к 1 базе через n серверов закрытых балансировщиком?


  1. potan
    19.05.2016 15:18

    Если делать такой формат — то на базе RDF.