Справочные данные

Справочные данные (reference data) – это такие данные, которые используются в нескольких проектах, на нескольких стадиях жизненного цикла и/или интересуют множество пользователей.

От часто используемого в корпоративной автоматизации понятия нормативно-справочной информации (НСИ) справочные данные отличаются тем, что они – данные, а не информация, то есть при работе с ними принципиально важна формальная система их записи. Кроме того, справочные данные включают не только «данные для конечного потребления», то есть заполненные формы (например, каталоги), но и «данные, описывающие структуру и значение других данных», то есть «пустографки», формы для заполнения.

Виды справочных данных

Справочные данные, создаваемые согласно ISO 15926, состоят из единиц справочных данных (reference data items). Такими единицами справочных данных являются:

  • Классы индивидов (class of individuals), классы отношений (class of relationships) и классы классов (class of class), используемые для разделения и группировки индивидов. Ни в коем случае не путайте эти классы с классами из объектно-ориентированного программирования: тут классы из теории множеств, у них нет «методов», никакой речи не ведется об «объектах» и т.д. Об объектно-ориентированном программировании придется забыть так же, как про схемы баз данных. Теория множеств тут тоже неклассическая (non well founded sets, «нефундированные множества»), но это не должно смущать.
  • Отдельные индивиды (individuals), при этом в ISO 15926 к индивидам относится только то, что имеет протяжённость в пространстве и/или во времени, и в справочные данные попадают только те индивиды, которые будут использованы во многих проектах, например, «Москва» или «Ростехнадзор». Тут надо помнить, что в соответствии с онтологической сущностью ISO 15926 под «Москвой» понимается реальный физический город, и под «Ростехнадзором» - совокупность конкретных людей, территорий, документов, компьютеров.
  • Шаблоны (templates), которые используются для формирования утверждений о единицах данных. Проще всего представлять их как заготовленные для заполнения «пустографки» в виде таблиц, заголовки столбцов в которых называются «ролями шаблона» (template roles). «Ролями» их называют потому, что они определяют роль для заполняющих их значений. Так, «Труба Т123» в одном шаблоне (определяемом этим шаблоном таблице) может стоять в роли (находиться в столбце) «предмет снабжения», а в другом шаблоне та же «Труба Т123» может стоять в роли (столбце) «место протекания потока».
  • Экземпляры шаблонов (template instances), то есть заполненные строчки в таблицах-пустографках, содержащие (в данном случае инженерии справочных данных) утверждения о прочих единицах справочных данных.

Категории справочных данных

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

  • «Модель данных» – это 201 тип Части 2 ISO 15926, которые также продублированы в виде классов справочных данных;
  • Основные классы (core classes) – те, которые отражают разделения индивидов и отношений в соответствии с общеупотребимыми словами из обычных языков. Среди них можно найти, например: «насос», «газету», «давление», «поток», «сварку», «выше» и «ниже».
  • Стандартные классы (standard classes) – те, правила отнесения к которым определяются открытыми стандартами, контролируемыми какими-либо организациями по стандартизации (ISO, национальными, как Ростехрегулирование, или профильными ассоциациями).
  • Специализированные классы – сюда входят классы де-факто, классы производителей, частные (proprietary) классы и прочие, в особенности определений которых мы пока не будем углубляться. Эти классы могут быть получены из анализа специальных учебников, стандартов предприятий, а то и из спецификаций отдельных проектов.
  • Протошаблоны (proto templates) – предикаты, описывающие на языке логики 201 тип «модели данных» Части 2 ISO 15926.
  • Базовые шаблоны (base templates) – те, с помощью которых можно сформировать утверждения о любых данных, ограниченные только отнесением всего и вся к 201 типу «модели данных» Части 2 ISO 15926. Эти шаблоны позволяют формировать любые утверждения об абстрактных и конкретных сущностях в мире и их связях, требуя только лишь связывать их с такими общими типами, как «физический объект», или «григорианские дата и время», или «класс классов» и т.д. Вот страничка, на которой собирается список общеупотребительных базовых шаблонов: https://www.posccaesar.org/wiki/SigMmt/Templates.
  • Основные шаблоны (core templates) – те, с помощью которых можно формировать утверждения о связях данных с основными классами. Основные шаблоны позволяют формировать утверждения о том, как связаны описываемые вами сущности с понятиями, выразимыми в словах из общеупотребимых толковых словарей. Основные шаблоны определяются через указание ограничений на те данные, которые могут занимать роли в базовых шаблонах. Вообще-то, те же самые утверждения можно сформировать и с помощью базовых шаблонов, но базовый шаблон нужно подбирать по ситуации, а конструкция основного шаблона уже для неё «приспособлена».
  • Специализированные шаблоны (specialized templates) – те, с помощью которых можно формировать ещё более специальные утверждения, устанавливая связи данных со специальными классами и даже с конкретными индивидами. Использование специализированных шаблонов может быть ограничено, например, рамками отрасли, а то и одной организации. Специализированные шаблоны получаются из базовых и основных шаблонов еще бОльшими ограничениями на заполнение ролей. Считается, что для специалиста в какой-то предметной области легче сориентироваться в большом наборе очень конкретных специализированных шаблонов, чем стараться сформировать необходимые ему утверждения из небольшого количества очень общих конструкций (то есть легче записать «из крана течёт вода», чем сформировать целую совокупность записей типа «арматура присоединена к трубопроводу, арматура имеет ручной привод, трубопровод содержит поток, темпоральная часть потока состоит из жидкой фазы вещества H2O, …»).

Примеры справочных данных

  • Классификатор ОКПО
  • Каталог промышленной продукции
  • Налоговые ставки
  • Схема данных геоинформационной системы
  • Схема данных для представления 3D моделей строительных конструкций или промышленного оборудования