Редактор инфоресурсов
Представление информационного ресурса в виде семантической сети понятий подробно описано в статье Описание логической структуры информационного ресурса. Далее приведено описание функциональности редактора информационных ресурсов — Improved Web Editor (IWE).
TODO:
- добавить краткую инфу о том что ИР делаются через административную систему, и что сервис с редактором получается и запускается тамже
- расширить описаниями инициирования операций через интерфейс (взять из статьи по моделированию)
- переработать ссылки на старую документацию
- Активное понятие
- Понятие информационного ресурса, выбранное пользователем для выполнения некоторой операции над ним (редактирование значений его атрибутов, удаления отношения к нему от понятия предка или выбор его в качестве текущего понятия), с целью просмотра (путем навигации по подсети его понятий-потомков) и/или описания (путем порождения новых понятий — прямых потомков и отношений к ним или создания ссылок на уже существующие понятия) его содержания.
- Содержание понятия
- Под содержанием некоторого (нетерминального) понятия информационного ресурса будем понимать совокупность понятий, являющихся его прямыми потомками, и отношений с ними.
- Текущее понятие
- Нетерминальное активное понятие, являющееся корневым в некоторой подсети понятий информационного ресурса. Каждому текущему понятию соответствует одно или более состояний процесса редактирования. Состояние характеризуется тем, что для навигации/редактирования доступна только подсеть с текущим понятием в качестве корневого. В процессе редактирования редактор может накапливать историю состояний (представленную списком).
В процессе редактирования информации редактор интерпретирует метаинформацию, которая определяет структуру и содержание первой. Таким образом, метаинформация ограничивает множество возможных состояний информации (точнее, представляющего ее информационного ресурса). Языком описания метаинформации является Язык ИРУО. Информация и метаинформация представляются семантическими сетями понятий.
Навигация по сети понятий, представляющей информационный ресурс, с целью просмотра и/или редактирования последнего начинается с понятия-источника сети, которое на начальном этапе является единственным активным, а также текущим понятием. Понятия сети визуально представляются следующим образом: нетерминалы — своими именами, терминалы-значения — значениями, а терминалы-сорта — именами и названиями сортов. При навигации пользователю доступны следующие возможности.
- Предусловия:
- выбранное понятие принадлежит множеству неактивных понятий и является прямым потомком некоторого понятия, принадлежащего множеству активных понятий.
- Постусловия:
- изменяется визуальное представление понятия;
- отображается множество доступных операций, которые можно выполнить с данным понятием и/или ведущим к нему отношением;
- для нетерминальных понятий также:
- отображается множество прямых потомков выбранного понятия, их понятия-прототипы из метаинформации, а также спецификаторы отношений, которыми приямые потомки с ним связаны (спецификаторы отношений отображаются только при редактировании/просмотре метаинформации; понятия-прототипы отображаются только при редактировании/просмотре информации)
- отображается множество доступных порождений новых отношений выбранного понятия с новыми понятиями-потомками или с уже существующими в некоторых информационных ресурсах понятиями (создание ссылок):
- Предусловия:
- выбранное понятие принадлежит множеству активных понятий, но не является текущим понятием.
- Постусловия: выбранное понятие исключается из множества активных понятий, а именно
- визуальное выделение с понятия снимается (понятие выглядит как неактивное);
- скрывается множество доступных над этим понятием операций;
- для нетерминальных понятий также:
- скрывается множество прямых потомков выбранного понятия (при этом отображается спецификатор отношения между активным понятием-предком и выбранным понятием — при редактировании/просмотре метаинформации; отображается понятие-прототип выбранного понятия — при редактировании/просмотре информации);
- скрывается множество доступных порождений новых отношений выбранного понятия с новыми понятиями-потомками и создание ссылок.
- Предусловия:
- задано значение атрибута комментарий.
- Постусловия:
- отображается комментарий для понятия при наведении указателя на имя/значение соответствующего понятия.
- Предусловия:
- выбор некоторого состояния из списка состояний, который доступен, если количество состояний больше 1.
- Постусловия:
- из списка состояний удаляются все состояния, добавленные в него после выбранного;
- отображается выбранное состояние, позволяющее редактировать/просматривать семантическую сеть, корневым понятием которой является текущее понятие, соответствующее выбранному состоянию.
Для всех видов понятий — нетермналов (включая понятие-источник сети), терминалов, описывающих сорт (терминалы-сорта), и терминалов, описывающих значение (терминалы-значения), определена операция:
- Изменение комментария понятия.
Остальные операции по изменению значений атрибутов понятия различаются в зависимости от вида последнего.
Для нетерминальных понятий определена операция:
- Изменение имени понятия.
- Предусловия:
- понятие не является понятием-источником сети;
- при редактировании информации спецификатор отношения, входящего в понятие-прототип данного понятия в метаинформации, не принадлежит множеству {"копия"("="), ["копия"]("[=]")}.
Для терминальных понятий, описывающих сорт, определены следующие операции:
- Изменение имени понятия.
- Предусловия:
- понятие принадлежит множеству понятий семантической сети, представляющей метаинформацию.
- Изменение сорта понятия.
Для терминальных понятий, описывающих значение, определена операция:
- Изменение значения понятия.
- Предусловия:
-
- понятие принадлежит множеству понятий семантической сети, представляющей метаинформацию или
- понятие принадлежит множеству понятий семантической сети, представляющей информацию, но его понятием-прототипом в метаинформации является терминальное понятие, описывающее сорт;
- новое значение имеет тот же сорт, что и предыдущее.
- Предусловия:
- понятие не является понятием-источником сети или текущим понятием.
- Постусловия:
- удаляется отношение к активному понятию от понятия предка (прямого);
- если активное понятие больше не имеет входящих отношений (дуг), то удаляется само активное понятие, а также все, исходящие из него отношения. При удалении отношений также рассматриваются понятия, являющиеся их концами, и проверяется, есть ли у них, в свою очередь, еще входящие отношения. В зависимости от проверки удаляется либо только отношение, либо отношение и понятие, в которое оно входит, и т.д. Процесс может продолжаться вплоть до терминальных понятий.
- Предусловия:
- понятие не является понятием-источником или терминальным понятием сети.
- Постусловия:
- в списке состояний создается новое состояние, в котором выбранное понятие является текущим для редактируемой/просматриваемой семантической сети (она является подсетью семантической сети, представляющей весь информационный ресурс). Множество активных понятий при этом включает в себя только одно это понятие.
- Предусловия:
- имя понятия не является пустой строкой;
- спецификатор отношения принадлежит множеству {"копия"(=), "[копия]"([=]), "в точности один"(!), "[в точности один]"([!]), "непустое множество"(+), "[непустое множество]"([+]), "прокси"(~)}.
- Постусловия:
- создается новое нетерминальное понятие с заданным именем и комментарием (возможно пустым);
- создается отношение от активного понятия к новому с заданным спецификатором;
- аналогично Постусловию 3 раздела Активация понятия отображается множество прямых потомков активного понятия, к которому добавлено вновь созданное понятие;
- аналогично Постусловию 3 раздела Активация понятия отображается множество доступных порождений содержания активного понятия; при этом остается возможность порождения только на основе того конструктивного элемента Языка ИРУО, который был использован для порождения данного понятия (т.е., если использовался элемент описать множество, то исключается возможность использовать для порождения элемент описать множество альтернатив и наоборот).
- Предусловия:
- имя понятия не является пустой строкой;
- сорт является одним из базовых сортов языка ИРУО.
- спецификатор отношения принадлежит множеству {"в точности один"(!), "[в точности один]"([!]), "непустое множество"(+), "[непустое множество]"([+])}.
- Постусловия:
- создается новое терминальное понятие, описывающее сорт, с заданным именем, сортом и комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 раздела Создание нетерминального понятия
- Предусловия:
- тип значения принадлежит одному из базовых сортов языка ИРУО;
- значение понятия не является пустой строкой;
- спецификатор отношения принадлежит множеству {"копия"(=), "[копия]"([=])}.
- Постусловия:
- создается новое терминальное понятие, описывающее значение, со значением заданного типа и комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 раздела Создание нетерминального понятия.
- Предусловия:
- спецификатор отношения принадлежит множеству:
- {"копия"(=), "[копия]"([=]), "в точности один"(!), "[в точности один]"([!]), "непустое множество"(+), "[непустое множество]"([+]), "прокси"(~)} — при создании ссылки на нетерминальное понятие;
- {"в точности один"(!), "[в точности один]"([!]), "непустое множество"(+), "[непустое множество]"([+])} — при создании ссылки на терминальное понятие, описывающее сорт;
- {"копия"(=), "[копия]"([=])} — при создании ссылки на терминальное понятие, описывающее значение.
- Постусловия:
- создается отношение от активного понятия к понятию, выбранному для ссылки, с заданным спецификатором;
- аналогично Постусловию 3 раздела Активация понятия отображается множество прямых потомков активного понятия, к которому добавлено понятие, на которое сделана ссылка;
- аналогично Постусловию 4 раздела Создание нетерминального понятия.
Примечание. Генерация содержания активного понятия с использованием примитива описать множество альтернатив отличается от использования примитива описать множество тем, что в первом случае:
- прямые потомки активного понятия представляют собой множество альтернативных понятий, т.е. при генерации объектного инфоресурса и использовании для порождения одного (любого) из этих понятий-потомков и отношения к нему в качестве прототипов для создания понятий и/или отношений в объектном инфоресурсе, остальные исключаются из множества доступных для порождения понятий и отношений;
- входящие в прямые потомки отношения не могут иметь спецификатор факультативности.
- В соответствии с правилом порождения 1.
- Предусловия:
- совпадает с антецедентом правила порождения 1.
- Постусловия:
- создается новое нетерминальное понятие с таким же именем, как у понятия в метаинформации, и заданным комментарием (возможно пустым);
- создается отношение от активного понятия к новому;
- аналогично Постусловию 3 раздела Активация понятия отображается множество прямых потомков активного понятия, к которому добавлено вновь созданное понятие;
- аналогично Постусловию 3 раздела Активация понятия отображается множество доступных порождений содержания активного понятия; при этом из этого множества исключается использованное для порождения отношение-прототип.
- В соответствии с правилом порождения 2.
- Предусловия:
- совпадает с антецедентом правила порождения 2;
- имя понятия не является пустой строкой.
- Постусловия:
- создается новое нетерминальное понятие с заданным именем и комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 для правила порождения 1.
- В соответствии с правилом порождения 3.
- Предусловия:
- совпадает с антецедентом правила порождения 3;
- имя понятия не является пустой строкой.
- Постусловия:
- создается новое нетерминальное понятие с заданным именем и комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 для правила порождения 1, за исключением того, что из множества доступных порождений не исключается использованное для порождения отношение-прототип.
- В соответствии с правилом порождения 4.
- Предусловия:
- совпадает с антецедентом правила порождения 4;
- значение понятия не является пустой строкой и принадлежит сорту, определяемому понятием-прототипом.
- Постусловия:
- создается новое терминальное понятие, описывающее значение, с заданным значением и комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 для правила порождения 1 раздела Порождение нетерминального понятия.
- В соответствии с правилом порождения 5.
- Предусловия:
- аналогичны предусловиям для правила порождения 4;
- Постусловия:
- создается новое терминальное понятие, описывающее значение, с заданным значением и комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 для правила порождения 1 раздела Порождение нетерминального понятия, за исключением того, что из множества доступных порождений не исключается использованное для порождения отношение-прототип.
- В соответствии с правилом порождения 6.
- Предусловия:
- совпадает с антецедентом правила порождения 6.
- Постусловия:
- создается новое терминальное понятие, описывающее значение, с таким же значением, как у понятия в метаинформации, и заданным комментарием (возможно пустым);
- аналогично Постусловиям 2 — 4 для правила порождения 1 раздела Порождение нетерминального понятия.
- Предусловия:
- отношение-прототип в метаинформации, на основе которого должна быть порождена ссылка в объектной информации, является ссылкой или его спецификатор не принадлежит множеству {"копия"(=), "[копия]"([=])};
- конечное понятие отношения-прототипа в метаинформации, на основе которого должна быть порождена ссылка в объектной информации, совпадает понятием-прототипом понятия, на которое делается ссылка или понятие-прототип понятия, на которое делается ссылка совпадает с понятием-аксиомой Языка ИРУО.
- Постусловия:
- создается отношение от активного понятия к понятию, выбранному для ссылки;
- аналогично Постусловию 3 раздела Активация понятия отображается множество прямых потомков активного понятия, к которому добавлено понятие, на которое сделана ссылка;
- аналогично Постусловию 3 раздела Активация понятия отображается множество доступных порождений содержания активного понятия; при этом из этого множества исключается использованное для порождения отношение-прототип, если его спецификатор не принадлежит множеству {"непустое множество"(+), "[непустое множество]"([+])}.