Структура данных

Схема данных, используемая в KGBase, является объектной и состоит из набора классов объектов, имеющих набор обязательных или не обязательных атрибутов. В связи с естественной денормализованностью данных о биоразнообразии (как и любых данных о природной среде) разработчик не считает оправданным использование реляционной модели данных (любая попытка нормализации структуры данных ведет к искусственному упрощению их структуры и неизбежной потере части первичных данных). При этом объектная модель данных никак не препятствует получению производных выборок данных, которые могут быть представлены в нормализованной реляционной структуре. Исходные причины данного выбора подробно рассмотрены в соответствующих публикациях разработчика. Именование классов и их атрибутов в системе принято на английском языке с записью буквами латинского алфавита для обеспечения возможности интернационального использования системы. Схема данных состоит из нескольких отдельных структур, связанных через имена экземпляров классов. Такой подход позволяет произвольное расширение схемы за счет создания новых структур в случае необходимости их использования. В настоящее время ведется работа по дополнению схемы структурой данных о литературных указаниях. Основной трудностью в данном случае является отсутствие общепринятого формата библиографических данных, соответствующего нуждам разработчика.

Отдельно следует отметить систему уникальных номеров объектов классов. Она может быть любой, при условии уникальности каждого номера экземпляра в пределах класса. Однако автор предпочитает использовать генерализированную систему нумерации, в которой каждый номер является либо корневым, либо производным от него: 001 — номер локации; 001#01, 001#02 — номера местоположений локации; 001-01, 001-02 — номера серий, собранных в локации; 001-01 01, 001-01 02 — номера образцов в серии; 001-01 01 01, 001-01 01 02 — определения образца.

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

ГЕОДАННЫЕ:

Класс location (локация)
Родительский класс: не имеет (корневой класс).
Атрибуты (все являются обязательными):
location — Уникальный номер локации.
description — Текстовое описание положения локации в пространстве.
hierarchy — Иерархическое положение локации в структуре территории (страна, область, район, …) *.
source — Источник данных о границах локации.
author — Лицо, установившее границы локации.
* Атрибут, необходимость которого автору представляется спорной. В процессе работы над схемой данных разработчиком была создана отдельная структура данных иерархического деления территорий. Позднее эта структура была удалена из схемы как потенциальная угроза многочисленных ошибок в интерпретации положения локаций. Помимо технических ошибок определения, границы административных и иных выделов имеют тенденцию к изменению, и даже верно определенное положение может позднее стать ошибочным. Действительное соотношение положения локации и деления территории возможно только на основе математического анализа географических координат их границ (для чего во всех современных СУБД имеются встроенные пространственные функции). Однако, поскольку создание точных полигональных объектов, описывающих границы выделов, является трудоемкой и не всегда выполнимой задачей, атрибут оставлен как технический «костыль», позволяющий сравнительно легко сортировать объекты (коллекционные образцы, указания и т.п.), хотя и со значительной опасностью ошибки. В дальнейшем планируется создание иерархической библиотеки координат границ выделов и функций для анализа положения локаций относительно них. При условии завершения такой работы данный атрибут может стать не обязательным.

Класс placemark (местоположение)
Родительский класс: location
Атрибуты (все являются обязательными):
placemark — Уникальный номер местоположения.
type — Один из трех типов объекта: точка (Point), линия (LineString) либо полигон (Polygon).
coordinates — Координаты объекта (его поворотных точек или точек его границ) *.
* Координаты записываются в формате долгота(градусы с долями),широта(градусы с долями),высота [следующая запись] — как в формате Keyhole Markup Language, являющимся одним из принятых международных стандартов картографических данных и используемого в данной системе в силу его простоты, удобства и отсутствия ограничений на использование. Соответственно, используется единственная система координат WGS-84.

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

КОЛЛЕКЦИОННЫЕ ОБРАЗЦЫ:

Класс series (серия)
Родительский класс: не имеет (корневой класс).
Атрибуты:
series — Уникальный номер серии. Обязательный атрибут.
location — Номер локации (ссылка на структуру геоданных). Обязательный атрибут.
cmode — Способ сбора серии. Не обязательный атрибут.
habitat — Описание местообитания, в котором проводился сбор серии. Не обязательный атрибут.
datetime_start — Дата и время начала сбора серии *. Обязательный атрибут.
datetime_end — Дата и время окончания сбора серии *. Не обязательный атрибут.
collector — Имя сборщика (записывается произвольно). Обязательный атрибут.
* Дата и время указываются в формате год:месяц:день час:минута:секунда. Год обозначается четырьмя цифрами, месяц, день, и единицы времени суток — двумя цифрами. Запись может быть сокращена в соответствии с известной точностью времени (не более чем до года).
Таким образом, «серия» в такой структуре понимается как совокупность всех образцов, собранных в одно время в одном месте одним способом и одним сборщиком.

Класс specimen (образец)
Родительский класс: series
Атрибуты:
specimen — Уникальный номер образца. Обязательный атрибут.
taxon — Научное название таксона, в котором образец рассматривается в базе (ссылка на структуру таксономии). Обязательный атрибут.
nall — Общее число экземпляров в образце. Обязательный атрибут.
nmale — Число самцов в образце. Не обязательный атрибут.
nfemale — Число самок в образце. Не обязательный атрибут.
nlarv — Число личинок в образце. Не обязательный атрибут.
nwork — Число «рабочих»  в образце. Не обязательный атрибут.
collection — место хранения образцов (сокращенное название — ссылка на структуру коллекций). Обязательный атрибут.
Очевидно, что атрибуты, описывающие состав образца, могут и должны отличаться у разных групп организмов и ни один из них, кроме общего числа — не может быть обязательными. Указанные здесь атрибуты количества предназначены для коллекционных образцов насекомых и даже в этом качестве их набор не полон — использованы только атрибуты, необходимые для научной работы разработчика.

Класс determ (определение)
Родительский класс: specimen
Атрибуты:
determ — Уникальный номер определения. Обязательный атрибут.
taxon — Название таксона (в оригинальном написании определившего). Обязательный атрибут.
datetime — Дата и время определения (формат аналогичен дате и времени сбора) Обязательный атрибут.
determinator — Имя определившего. Обязательный атрибут.

Определения выделены в самостоятельный класс объектов в противовес «традиционным» базам коллекций, так как каждое определение — уникальный творческий акт, не имеющий прямой зависимости от образца и не может быть его единичным атрибутом. Следует отметить, что представленная структура в целом не характерна для существующих коллекционных и музейных БД. Однако разработчику она представляется гораздо более приближенной к естественной структуре коллекционных сборов и более адекватно ее описывающей.

ТАКСОНОМИЯ:
Формализация модели таксономического деления групп организмов представляет особую трудность в связи с различными рангами и их названиями в разных номенклатурах, использовании либо не использовании отдельных рангов в конкретных таксономических перечнях. Попыткой максимально формализовать данные таксономии является представленная ниже объектная модель:

Корневым классом таксономии является один из классов таксономических групп (см. ниже), представляющий общую группу, в которую в ходят все организмы конкретного таксономического списка (дерева). Название класса указывается в отдельном от дерева объектов поле rank в корне списка.

Класс subtaxons (субтаксоны)
Родительский класс: любой из классов таксономических рангов.
Атрибуты: не имеет, абстрактный класс.
Класс представляет собой контейнер для дочерних классов класса таксономической группы, для каждого экземпляра родительского класса может существовать единственный экземпляр данного класса.

Классы таксономических рангов *
Родительские классы: класс subtaxons или корневой класс (rank).
Атрибуты:
rank — используемое название дочернего класса таксономической группы. Обязательный атрибут.
pseudonym — название ранга таксономической группы в единственном числе на произвольном языке. Не обязательный атрибут.

Классы таксономических групп *
Родительские классы: Классы таксономических рангов.
Атрибуты:
ID — Порядковый номер таксона. Не обязательный атрибут.
name — Научное название таксона. Обязательный атрибут.
original — Оригинальное научное название таксона (по описанию). Не обязательный атрибут.
autor — Автор научного названия (полностью — Ivanon, 2000, или сокращенно — Iv., при отсутствии следующего атрибута). Обязательный атрибут.
aut_abbr — Автор научного названия (сокращение — Iv.). Не обязательный атрибут.
pseudonym — Национальное (народное) название таксона. Не обязательный атрибут.
description — Произвольное описание таксона. Не обязательный атрибут.
frequency — Частота встречаемости таксона. Не обязательный атрибут.
inhabit — Характер обитания таксона (постоянно, пролетный и т.п.). Не обязательный атрибут.
distribution — Распространение таксона. Не обязательный атрибут.
phenology — Фенология таксона. Не обязательный атрибут.
ecology — Экологические особенности таксона. Не обязательный атрибут.
biology — Биологические особенности таксона. Не обязательный атрибут.
В связи с естественной разнородностью свойств каждого таксона, являющихся предметом исследования, набор атрибутов класса может быть дополнен или сокращен.

* Разработчик не видит принципиальной возможности формализовать наборы имен данных групп классов в связи с отсутствием единой номенклатуры таксонов живых организмов. Таким образом, имена определяются используемой в базе данных номенклатурой и таксономией и соответствуют названиям используемых рангов во множественном (классы рангов) или единственном (классы групп) числе на английском языке **.
** В связи с отсутствием множественного числа у слова species (subspecies и т.п. соответственно) для класса группы используется сокращенное название — sp., ssp.

Класс synonym (синоним)
Родительские классы: Классы таксономических групп.
Атрибуты:
name — Полное написание синонимичного названия (Herba vulgaris). Обязательный атрибут.
abbreviation — Сокращенное написание синонимичного названия (H. vulgaris, vulgaris). Не обязательный атрибут.
autor — Автор синонимичного названия (полностью — Ivanon, 2000, или сокращенно — Iv., при отсутствии следующего атрибута). Обязательный атрибут.
aut_abbr — Автор синонимичного научного названия (сокращение — Iv.). Не обязательный атрибут.
synonymy — Автор синонимии (библиографическая ссылка — Сидорович, 2005). Не обязательный атрибут.

КОЛЛЕКЦИИ:

Класс collection (коллекция)
Корневой и единственный класс структуры
Атрибуты (все являются обязательными):
name — Сокращенное название.
description — Описание коллекции (полное название).
owner — Владелец коллекции — лицо либо учреждение.
curator — Куратор коллекции, ответственный за хранение.
contact — Контактная информация для связи с владельцем или куратором.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *