31
1 ООО «ТриниДата» РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ системы управления знаниями АрхиГраф.СУЗ г. Екатеринбург, 20 20

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ системы … › files › ArchiGraphSUZUserGuide.pdf- «Мои запросы» - сохраненные поисковые запросы

  • Upload
    others

  • View
    30

  • Download
    0

Embed Size (px)

Citation preview

1

ООО «ТриниДата»

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

системы управления знаниями АрхиГраф.СУЗ

г. Екатеринбург, 2020

2

Оглавление

1. Начало работы в системе........................................................................ 3

2. Интерфейсы поиска ................................................................................ 5

2.1. Поиск по параметрам. Результаты поиска........................................ 5

2.2. Поиск по связям................................................................................ 6

2.3. Конструктор запросов ...................................................................... 7

2.4. Интеллектуальный поиск ................................................................. 8

2.5. Поиск по рубрикаторам .................................................................. 10

3. Просмотр информации об объекте ....................................................... 11

4. Правила логического вывода и контроля логической целостности ..... 13

4.1. Конструирование правил логического вывода ............................... 13

4.2. Создание правил контроля логической целостности ..................... 18

5. Применение правил логического вывода ............................................. 20

5.1. Применение правил в интерфейсе АрхиГраф.СУЗ с целью отладки

20

5.2. Просмотр результатов работы правил контроля логической

целостности в интерфейсе редактора онтологий ................................................ 22

6. Поиск связей между объектами (режим «Поиск вокруг») ................... 23

7. Формирование отчетов ......................................................................... 26

7.1. Метамодель описания структуры отчетов...................................... 26

7.2. Построение отчетов в интерфейсе АрхиГраф.СУЗ ........................ 28

3

Назначение системы АрхиГраф.СУЗ – поиск и логическая обработка данных,

представленных в соответствии с онтологической моделью. Онтологическая

модель размещается в графовой СУБД (продукт класса RDF triple store), а данные,

соответствующие этой модели – в любых базах данных, находящихся под

управлением платформы АрхиГраф и доступных через программный интерфейс

АрхиГраф.MDM.

Создание онтологической модели выполняется при помощи редактора

АрхиГраф.Мир или Onto.pro. Наполнение данными может выполняться вручную

при помощи АрхиГраф.Мир, или с помощью специально разработанных

пользовательских интерфейсов или средств автоматизации обмена информацией,

использующих API АрхиГраф.MDM.

Для работы с содержимым базы знаний желательно знакомство с

концепциями семантического (онтологического) моделирования. В качестве

введения в этот предмет, рекомендуем наше методическое руководство:

http://trinidata.ru/files/SemanticIntro.pdf

1. Начало работы в системе

Система поддерживает несколько методов авторизации. В общем случае она

использует KeyCloak в качестве провайдера учетных данных. Если не настроена

авторизация Kerberos, то для входа в систему нужно использовать логин и пароль.

Рис. 1. Окно входа в систему

После входа, пользователь оказывается на главной странице системы.

Страница содержит шесть ссылок на ее основные разделы, и три блока быстрого

доступа к объектам.

4

Рис. 2. Главная страница АрхиГраф.СУЗ

Основные разделы системы, соответствующие различным способам поиска

содержимого информационной модели, конструированию правил и обнаружению

связей, подробно рассматриваютсяниже. Три блока быстрого доступа в нижней

части страницы отображают следующую информацию:

- «Мои объекты» - перечень объектов, которые пользователь поместил в

«избранное» в результатах поиска.

- «Последние объекты» - список последних объектов (в обратном

хронологическом порядке), информацию о которых просматривал

пользователь.

- «Мои запросы» - сохраненные поисковые запросы пользователя.

Содержимое этих блоков сохраняется в учетной записи пользователя.

Создание элементов списков «Мои объекты» и «Мои запросы» происходит на

странице результатов поиска, а удалить их можно прямо из списков на главной

странице.

В верхней части всех страниц системы находится строка быстрого поиска,

позволяющая найти любой элемент базы знаний по названию.

Рис. 3. Строка поиска

По мере ввода букв в эту строку, система отображает всплывающие

подсказки. Щелкнув на любую подсказку, можно сразу перейти на страницу

5

соответствующего объекта. Нажав Enter, можно увидеть полный список

результатов поиска – все объекты, название которых содержит введенный текст.

2. Интерфейсы поиска

2.1. Поиск по параметрам. Результаты поиска

В этом режиме пользователь может найти объект известного ему типа, задав

значения параметров, присущих объектам именно этого типа.

Рис. 4. Режим поиска по параметрам

На первом шаге, пользователь указывает тип (класс) искомого объекта, вводя

часть его названия. По мере ввода, система отображает подсказки. Рядом с каждым

типом указано количество соответствующих ему объектов.

Пользователь выбирает нужный тип щелчком по подсказке. После этого

внизу появляется форма, содержащая поля для ввода или выбора значений свойств

искомого объекта. Набор полей формируется автоматически в соответствии с

информационной моделью, и зависит от типа объекта. В построении фильтра

участвуют только те поля, для которых указано значение.

После нажатия кнопки «Найти», в правой части страницы появляются

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

кроме «Конструктора запросов», который будет описан ниже.

6

Первый столбец таблицы содержит кнопку «звездочка», которая позволяет

поместить объект в избранное. Такие объекты будут отображаться в списке «Мои

объекты» на главной странице системы.

Обязательные столбцы «Объект» и «Тип» содержат название объекта и типов

(классов), к которым он относится. Щелчком по названиям можно перейти на

страницу детальной информации о соответствующем объекте. Кнопка «Выбрать

столбцы» над списком открывает диалоговое окно, в котором можно отметить

свойства объектов данного типа, которые нужно вывести в таблице в качестве

дополнительных столбцов. Нажатие на заголовке столбца позволяет отсортировать

таблицу по его значению – после этого рядом с названием столбца появляется

значок, показывающий направление сортировки.

Также над списком результатов расположены:

- форма управления количеством отображаемых результатов,

- форма сохранения запроса (после ввода названия запроса и нажатия на

кнопку «Сохранить запрос», он начнет отображаться на главной

странице в блоке «Мои запросы»),

- кнопка экспорта, позволяющая выгрузить содержимое таблицы

результатов в Microsoft Excel.

2.2. Поиск по связям

В этом режиме пользователь может найти объект известного ему типа,

пройдя по цепочке логических связей.

Рис. 5. Режим поиска по связям

7

Поиск, как и в других режимах, начинается с выбора типа искомого объекта.

Затем система предлагает выбрать один из типов связей, которые могут соединять

этот объект с каким-либо другим. После этого тот объект, с которым этот тип

связей может соединять данный, в свою очередь становится искомым. Для него

выбирается следующая связь, и так далее. Процесс продолжается до тех пор, пока

для какого-либо объекта не будет выбрано свойство-литерал, и введено условие на

его значение. После этого весь запрос будет выполнен, и система выведет объекты,

имеющие указанную пользователем цепочку связей.

2.3. Конструктор запросов

В этом режиме пользователь имеет возможность составить сложное

логическое уравнение, используя свойства и связи нескольких объектов.

Рис. 6. Режим конструктора запросов

В левой части страницы располагается конструктор системы логических

уравнений. Рассмотрим эту форму более подробно.

8

Рис. 7. Условие в конструкторе запросов

Каждая строка таблицы представляет собой одно из уравнений системы.

Уравнение имеет вид «Объект 1 – отношение – объект 2». Как первый, так и второй

объект могут быть заданы переменными (в этом случае для них определяется тип,

показывающий, объекты какого класса могут становиться значением этой

переменной), или являться конкретными объектами. Если отношение представляет

собой свойство-литерал, то в правой части уравнения может указываться условие,

налагаемое на его значение (например, подстрока, которую содержит название

объекта).

Разные условия (уравнения) можно объединять между собой логическими

операторами И, ИЛИ, И НЕ. Добавление новых строк в таблицу происходит

нажатием кнопки «Добавить условие». Также можно отметить переключателями-

галочками несколько условий, и нажать кнопку «Объединить условия» – это

приведет к их группировке при помощи «скобок». Выражение «в скобках», в свою

очередь, может быть объединено логическими операторами с другими

выражениями.

После того, как условие сформулировано, нажатие кнопки «Найти»

позволяет увидеть все решения данной системы логических уравнений. В отличие

от остальных режимов поиска, в этом режиме результаты поиска имеют другой вид

– они содержат столбцы для всех использованных в ур авнении переменных, для

каждого варианта значения каждой переменой выводится название и тип

соответствующего объекта.

2.4. Интеллектуальный поиск

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

запрос на русском языке (т.н. «контролируемый естественный язык» запросов),

9

используя подсказки системы. Результатом поиска является точное решение

логического уравнения, а не просто объекты, описание которых содержит те или

иные ключевые слова.

Рис. 8. Режим запросов на контролируемом естественном языке

Начать ввод нужно, как и в других режимах, с ввода типа искомого объекта.

После этого система предложит подсказку, которая содержит перечень всех

свойств и связей искомого типа объектов:

Рис. 9. Подсказки в процессе построения запроса на контролируемом языке

Введя, таким образом, последовательность связей (принцип аналогичен

режиму «Поиск по связям»), придем к объекту, который можно идентифицировать

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

юридическое лицо (хозяйствующий субъект) управляет определенными

предприятиями, и хотим вывести список всех гидроагрегатов на этих

предприятиях. Запрос строится в обратном порядке – от цели поиска:

10

Рис. 10. Ввод искомого значения в процессе построения запроса

на контролируемом языке

После ввода значения нужно нажать Enter. Далее можно продолжить ввод

условий, или выбрать в подсказках точку, что означает завершение поисковой

фразы, после чего система выведет результат поиска.

2.5. Поиск по рубрикаторам

Рубрикаторы представляют собой части (ветви) дерева классов

информационной модели. Настройка рубрикаторов выполняется в самой модели,

предпочтительно – через редактор Onto.pro (класс «Рубрикаторы СУЗ», объекты

которого имеют свойство РубрикаторыСУЗКласс, указывающее на корневой класс

рубрикатора). Страница поиска по рубрикаторам предлагает выбрать один из

преднастроенных рубрикаторов, а затем просмотреть его содержимое в виде

дерева. Нажатие на любой элемент дерева приводит к отображению в области

результатов поиска всех объектов, относящихся к выбранному классу.

Рис. 11. Просмотр содержимого модели при помощи рубрикатора

11

3. Просмотр информации об объекте

Страница информации об объекте отображается при переходе по ссылке с

результатов поиска. Страница имеет следующий вид:

Рис. 12. Страница информации об объекте

В правой колонке отображается список классов (типов), к которым относится

объект. На каждый из классов можно перейти, и увидеть список остальных его

элементов. Ниже отображаются статические свойства данного объекта.

В левой части показано название и определение (описание) объекта, далее

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

типов объекта. Отображение в сгруппированном виде показано на рисунке выше –

при этом отображается список типов связей, соединяющих данный объект с

другими. Для каждого типа связи в скобках указано число объектов, с которыми

установлена такая связь. При нажатии на кнопку «+» справа от типа связи

раскрывается список конкретных объектов.

Нажатием на кнопку «Разгруппировать» можно увидеть табличное

представление всех связей сразу:

Рис. 13. Отображение связей объекта без группировки

12

Наконец, внизу страницы отображается схема связей объекта в виде графа:

Рис. 14. Связи выбранного объекта

Текущий объект выделен цветом. Рядом в виде прямоугольников показаны

все классы объектов, с которыми может быть связан текущий объект. Цвет

соединяющей линии зависит от типа связи (для объектов разных классов тип связи

может быть одним и тем же). Расшифровку цветов можно увидеть, раскрыв легенду

в правой части изображения. Для каждого класса объектов показано число его

экземпляров, связанных с текущим объектом. Нажатием на кнопку «вниз» можно

раскрыть выпадающую часть блока, и увидеть список конкретных объектов.

На каждый из них можно перейти, щелкнув по ссылке. При наведении на любую

часть блоков диаграммы отображаются подсказки, содержащие полные варианты

надписей (для просмотра обрезанных текстовых элементов).

Если СУЗ работает с АрхиГраф.MDM, развернутой в конфигурации

логической витрины данных, то на странице свойств объекта появляется

возможность просмотра сведений об объекте в разных системах-источниках

(настройка логической витрины данных описана в документации на

АрхиГраф.MDM).

Принцип логической витрины данных состоит в обеспечении прозрачного

доступа через единый API к различным источникам данных, которые могут

содержать сведения об одних и тех же объектах. Логическая витрина данных

находит сведения об одних и тех же объектах, содержащиеся в разных источниках

информации, и интегрирует их в единое представление. АрхиГраф.СУЗ отображает

на странице просмотра свойств объекта информацию о значениях его атрибутов,

указанных в разных системах-источниках (см. рис. 15). Это позволяет сравнить

состав, полноту и актуальность сведений об объекте в разных системах, что

является одной из задач управления качеством данных.

Значения атрибутов объекта, отображаемые в этой таблице, получены путем

преобразования значений, хранящихся в системах-источниках, в соответствии с

правилами мэппинга, определенными в настройках логической витрины данных.

13

Рис. 15. Сравнение свойств объекта в разных источниках, извлеченных

при помощи логической витрины данных

Обратим также внимание, что при работе с MDM в режиме логической

витрины данных в интерфейсе СУЗ для каждого значения свойства объекта

отображается информация о том, из какой системы-источника оно было получено.

При этом у одного свойства каждого объекта может быть несколько значений,

полученных из разных систем.

В АрхиГраф.СУЗ может быть настроено специализированное отображение

тех или иных видов информации на странице. Это полезно в случаях, когда для

восприятия сведений лучше использовать конкретный способ отображения:

распределение объектов по территории – на карте, структурную схему объекта – в

виде блочной диаграммы, наборы показателей и числовых данных – в виде

диаграмм и графиков, таблиц и др. Настройка производится при внедрении

системы. Система имеет механизм, позволяющий создавать специальные

дополнительные HTML-шаблоны отображения фрагментов страницы для тех или

иных видов данных, или полностью заменять стандартную страницу информации

об объекте.

4. Правила логического вывода и контроля логической целостности

4.1. Конструирование правил логического вывода

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

выводов. Правило – это выражение вида «Если … то …». Если условие, заданное в

правиле, выполняется, то система создает новый факт в базе знаний.

Функционал правил в АрхиГраф.СУЗ основан на спецификации SHACL

консорциума W3C. Эта спецификация состоит из нескольких частей: SHACL

Constraints описывает правила контроля логической целостности объектов,

результатом работы которых являются утверждения о том, соответствует ли объект

14

определенным критериям, и SHACL Rules, которая описывает правила для

получения новых фактов из заданных аксиом.

Для применения правил используется механизм выполнения SPARQL-

запросов, предоставляемый АрхиГраф.MDM. Для конструирования, отладки и

просмотра результатов применения правил создан специальный визуальный

интерфейс – Конструктор правил. Перейти на него можно щелчком по

одноименному блоку на главной странице системы.

Окно конструктора правил состоит из трех колонок:

Рис. 16. Окно конструктора правил

В левой колонке расположено дерево папок, в которые помещаются правила.

В средней колонке показаны правила, относящиеся к выбранной группе. Правая

колонка отображает информацию по выбранному правилу.

При помощи кнопок «+» над деревом и списком можно создать,

соответственно, новую папку и новое правило. Форма свойств правила имеет такой

вид:

15

Рис. 17. Форма создания/редактирования правила

В форме указывается название правила и его принадлежность к группе.

Переключатель «Активен» нужно установить после того, как будут заданы

логические условия правила, и оно будет готово к исполнению. Переключатель

«Активен» устанавливается для правил проверки логической целостности SHACL

16

Constraints. Для таких правил можно установить переключатель «Не должно

выполняться», если логические условия, указанные в правиле, НЕ должны быть

выполнены для того, чтобы объект считался корректным (если этот переключатель

не установлен, то условия, наоборот, должны выполняться).

Для правил обоих типов нужно указать класс, к объектам которого они будут

применяться. Применение правил осуществляет АрхиГраф.MDM в момент

изменения объектов, относящихся к выбранному классу или его подклассам.

Поле «Порядок» определяет порядок следования правила в списке,

а параметр «Число переменных» используется при конструировании логического

условия правила. Поля «Добавлено/удалено триплетов» содержат счетчики,

автоматически обновляющиеся после каждого применения правила.

Переключатель «Базовое» позволяет выделить правила, эмулирующие

основной функционал логического вывода RDFS/OWL (entailment): вычисление

подклассов, применимости свойств к подклассам и т.д. Создавать такие правила

имеет смысл в случае, если нужно материализовать в хранилищах утверждения,

вытекающие из базовых логических правил RDFS/OWL.

После того, как правило создано, необходимо перейти к заданию логического

условия и того вывода, который будет получен, если условие сработает. Для этого

правил используется интерфейс, аналогичный описанному выше конструктору

запросов. При помощи такого конструктора задается первая часть правила –

условие «Если».

Предположим, мы хотим задать правило следующего содержания: «Если

срок выполнения какого-либо проекта был задержан по какой-то причине более

чем на 6 месяцев, то эта причина имеет высокий класс важности». Сначала

сконструируем условие «Если»:

Рис. 18. Конструирование условия правила

17

Из первой строки условия следует, что A – это персона, которая работает

в компании B. Второе условие утверждает, что компания B имеет директором

персону C. В уравнение можно добавить любое количество условий.

Условия можно объединять между собой логическими операторами И, ИЛИ.

Можно также «поставить скобки» в логическом выражении. Для этого нужно

отметить переключатели в каждой строке условия, а затем нажать кнопку

«Объединить условия», расположенную ниже формы. Получится такая картина:

Рис. 19. Объединенные логические условия

Объединенные условия будут обведены рамкой. Операторы И, ИЛИ

действуют сначала внутри объединенных условий, затем результат комбинируется

с теми условиями, что заданы вне «скобок».

Обратим внимание на то, что можно использовать и негативные утверждения

– о том, что тот или иной объект НЕ имеет определенного значения свойства.

В качестве свойств может выступать принадлежность объектов к различным типам

(классам).

Теперь при помощи нижней части формы сконструируем условие «То»:

18

Рис. 20. Конструирование вывода правила

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

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

перечисленные выводы будут применены, и в базе знаний созданы новые факты.

Обратим внимание на то, что вывод может быть и негативным – в этом случае,

наоборот, факты будут удаляться из базы. Для задания такого поведения

предусмотрен переключатель «удалять существующие».

Обратим внимание, что при создании правил SHACL в них обязательно

должна использоваться переменная $this, означающая объект, к которому

применяется правило. Этот объект должен относиться к классу, выбранному в

свойствах правила, или к одному из его подклассов.

Еще одна важная возможность – создание новых объектов в результате

применения правил. Для этого в левой части вывода нужно в выпадающем меню

«Переменная» выбрать пункт «Новый». Вывод в этом случае должен состоять из

нескольких строк, которые присвоят новому объекту тип, читаемое название,

опишут его атрибуты и связи (скорее всего – с теми объектами, которые

представлены переменными в условии). Новый объект может быть только один для

каждого правила.

4.2. Создание правил контроля логической целостности

Правила контроля логической целостности имеют только часть,

описывающую логические условия, которые должны выполняться (или не

выполняться) для каждого объекта определенного класса. Вывод для таких правил

не моделируется, поскольку он формируется автоматически в том случае, если

объект не отвечает сформулированным в правиле условиям.

Приведем несколько примеров. Допустим, требуется сформулировать

условие о том, что коммерческая организация или физическое лицо не могут быть

учредителями государственного учреждения. Форма условия пр авила должна

иметь такой вид:

19

Рис. 21. Правило «Коммерческая организация или физическое лицо не может

быть учредителем государственного учреждения»

В нижнем блоке конструктора указано утверждение о том, что объект $this,

относящийся к классу «Государственное учреждение» (этот же класс должен быть

выбран в поле «Применимо к объектам класса» в свойствах правила), имеет

учредителя, обозначенного переменной A. Это условие объединено логическим И

с группой из двух условий, приведенных выше.

В группе содержатся условия, объединенные логическим ИЛИ. Первое

говорит о том, что объект, обозначенный переменной A, принадлежит классу

«Физическое лицо», второй – о том, что этот объект принадлежит классу

«Коммерческая организация». Для того, чтобы объект был корректным,

необходимо, чтобы он НЕ отвечал этим условиям (то есть либо имел учредителя,

относящегося к каким-то другим классам, либо вовсе не имел учредителя; важно

рассмотреть все варианты, которые приводят к выполнению или не выполнению

критериев, заданных в правиле). Соответственно, в свойствах правила необходимо

установить переключатель «Не должно выполняться».

Рассмотрим другой пример. Пусть нужно сформулировать правило, согласно

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

Чтобы сформулировать такое условие, необходимо использовать функцию

вычисления интервала между значениями двух переменных, реализованную в

синтаксисе правил АрхиГраф.СУЗ. Правило должно иметь такой вид:

20

Рис. 22. Правило «Дата создания организации не должна быть позже

даты ее ликвидации»

В двух первых строках правила значения свойств «Дата создания» и «Дата

ликвидации» объекта $this класса Организация присваиваются переменным A и B.

В третьей строке вычисляется интервал (в секундах) между двумя датами, и

указывается, что он должен быть больше нуля. Данное правило также НЕ должно

выполняться, что должно быть отражено одноименным переключателем в его

свойствах.

5. Применение правил логического вывода

5.1. Применение правил в интерфейсе АрхиГраф.СУЗ с целью отладки

Правила могут применяться вручную администратором через интерфейс

системы (в целях отладки), или автоматически платформой АрхиГраф.MDM при

изменении объектов в хранилищах под ее управлением. Результаты работы правил

логического вывода – выведенные факты – платформа АрхиГраф хранит с

привязкой к тому правилу, в результате применения которого он получен.

Результаты работы правил контроля логической целостности представляют собой

индивидуальные объекты класса shacl:Violation, также сохраняющиеся в базах

данных под управлением платформы.

При запуске применения правил машина логического вывода АрхиГраф.СУЗ

удаляет все выведенные ранее факты, а затем применяет все активные правила

(начиная с базовых) на несколько проходов до тех пор, пока на каком-либо проходе

21

не окажется, что новых фактов в базе не возникло (такой принцип действия

аналогичен любому стандартному reasoner’у).

Для вызова применения правил из интерфейса системы необходимо нажать

кнопку «Применить правила». Появится диалоговое окно, в котором можно будет

наблюдать за процессом вычислений:

Рис. 23. Процесс применения правил

В колонках в этом окне отображается число добавленных и удаленных

триплетов (единичных фактов). Нажав на ссылку на числе добавленных триплетов,

можно увидеть конкретные добавленные факты:

Рис. 24. Добавленные триплеты

22

Эта возможность полезна для отладки правил.

При просмотре данных в поисковом интерфейсе АрхиГраф.СУЗ, выведенные

факты выводятся с подсветкой:

Рис. 25. Факты, полученные в результате применения правил

При наведении курсора мыши на факт можно увидеть, каким конкретно

правилом он выведен.

5.2. Просмотр результатов работы правил контроля логической

целостности в интерфейсе редактора онтологий

Интерфейсы редакторов АрхиГраф.Мир и Onto.pro позволяют просматривать

правила SHACL, применимые к определенным классам объектов, и результаты их

выполнения.

Просмотреть правила в виде SPARQL-запросов можно на странице свойств

класса:

Рис. 26. Отображение SPARQL-синтаксиса правил, созданных в конструкторе

правил АрхиГраф.СУЗ, в интерфейсе редактора Onto.pro

На странице просмотра свойств объекта, нарушающего те или иные условия

логического контроля, отображается перечень тех правил, которые были

нарушены:

23

Рис. 27. Сообщения о нарушении контроля логической целостности

В редакторе также предусмотрен специальный инструмент, позволяющий

увидеть весь список объектов, нарушающих то или иное правило контроля (такой

же список можно построить и в АрхиГраф.СУЗ, запросив поиском все объекты

класса shacl:Violation):

Рис. 28. Просмотр всех объектов, нарушающих выбранное условие контроля,

в интерфейсе Onto.pro

6. Поиск связей между объектами (режим «Поиск вокруг»)

Данный режим предназначен для обнаружения неизвестных заранее связей

между несколькими объектами. Для начала работы с этим режимом после перехода

на страницу «Поиск вокруг» нужно выбрать в левой части окна один или несколько

объектов, от которых будет начат поиск (также можно автоматически выбрать

объект, нажав на ссылку «Поиск вокруг» на странице просмотра сведений о

конкретном объекте). Затем необходимо выбрать глубину просмотра связей,

начинающихся от этих объектов. После этого в средней части страницы появится

возможность указать типы объектов и/или связей, которые нужно вывести на

диаграмме.

Предположим, мы хотим увидеть все связи, которые приведут от трех

выбранных объектов к любым компаниям или персонам (через любые

промежуточные объекты):

24

Рис. 29. Настройка режима «Поиск вокруг»

Если отметить переключателями определенные виды связей, то на диаграмме

будут отображены объекты, связанные с текущими объектами (которые выбраны в

списке слева) посредством выбранных связей.

При выборе классов объектов на диаграмме отобразятся все объекты этих

классов, связанные с текущими объектами при помощи любых связей.

Если выбраны и связи, и классы, то произойдет объединение результатов:

будут выведены и связанные с текущими объекты, принадлежащие отмеченным

классам, и объекты, связанные отмеченными связями.

В любом случае, показываются только цепочки связей не большей длины от

текущих объектов, чем выбранная глубина.

Нажатием на ссылку «Предварительный просмотр» можно вывести общую

структуру диаграммы, которая получится в результате. Если эта структура

устраивает, необходимо нажать на кнопку «Показать результат», чтобы увидеть ее

полное представление.

Настройки поиска можно сохранить при помощи формы «Сохранить поиск

как», расположенной в левом нижнем углу экрана. Сохраненные поиски можно

затем активировать вновь или отредактировать при помощи страницы меню Поиск

вокруг \ Сохраненные поиски.

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

25

Рис. 30. Результаты «Поиска вокруг»

В левой колонке показана легенда содержимого диаграммы. Перечислены

типы встречающихся на них объектов, количество объектов каждого типа. Ниже

отображен список связей. Числа в скобках (n/m) означают: n – на сколько разных

объектов указывает связь этого вида, m – сколько раз эта связь встречается на

диаграмме. Раскрыв каждую связь, можно увидеть конкретные объекты, на

которые она указывает. Рядом с каждым объектом показано число связей данного

типа, которые на него указывают.

В правой части страницы показаны все объекты, удовлетворяющие условиям

поиска, и связи между ними. Рядом расположена легенда, показывающая цветовую

схему связей. Анализируя эту диаграмму, легко обнаружить цепочки связей между

интересующими объектами:

Рис. 31. Визуальный поиск связей между интересующими объектами

26

7. Формирование отчетов

7.1. Метамодель описания структуры отчетов

АрхиГраф.СУЗ обладает возможностью построения отчетов заданной

структуры по данным, содержащимся в хранилищах АрхиГраф.MDM. Структура

отчетов задается при помощи специальной метамодели в одном из редакторов

онтологий – АрхиГраф.Мир или Onto.pro.

Дерево классов, описывающих структуру отчетов, имеет следующий вид:

Рис. 32. Структура классов метамодели отчетов

Класс «Отчет» предназначен для создания сущностей, представляющих

отчеты. Каждый объект этого класса представляет отчет, который может быть

построен в интерфейсе АрхиГраф.СУЗ (см. следующий подраздел).

Класс «Элемент структуры отчета» содержит описание столбцов и строк

таблицы отчета, а также их групп:

Группа столбцов

Столбец Столбец Столбец

Группа строк Строка

Строка

Строка

Для элементов всех перечисленных типов необходимо задавать связь с

отчетной формой, выбирая отчет в качестве значения атрибута «Относится к

отчету». Элементы любого из перечисленных типов могут использоваться более

чем в одном отчете.

27

Порядок следования всех перечисленных элементов задается путем указания

в поле «Порядок следования» числа, по которому сортируются элементы (на

каждом уровне вложенности сортировка начинается заново).

Группы строк (столбцов) могут быть вложены друг в друга – такая

вложенность задается связью «Входит в группу строк (столбцов)». Столбцы и

строки привязываются соответственно к группам столбцов и строк связью «Входит

в группу строк (столбцов)». Описанной части метамодели достаточно для того,

чтобы построить сетку (структуру) таблицы отчета.

Остальная часть метамодели предназначена для описания способа

заполнения отчета данными. Для каждой строки или столбца может быть задано

значение свойства «Применимо условие извлечения объектов» – объект класса

«Условие извлечения объектов», которое описывает, какие объекты должны быть

извлечены для отображения данных в строке или столбце. При этом может быть

указан переключатель «Создавать строку/столбец для каждого объекта» – в этом

случае будет создано столько экземпляров строки или столбца, сколько объектов

данного класса существует в данных. В противном случае строка или столбец

создается в единственном экземпляре, и должны содержать какое-либо

агрегированное значение.

В свойствах объекта класса «Условия извлечения объектов» задаются

следующие параметры:

- Класс объектов – определяет, объекты какого класса должны быть

извлечены – например, «Контрагент»

- Условие на свойство – свойство извлекаемых объектов, которое

должно отвечать заданному условию – например, «Имеет статус»

- Использовать операцию сравнения – операция сравнения, которая

должна быть применена к значению свойства – например, «равно»

- Значение (объект) и Значение (литерал) – значение, с которым

необходимо сравнить свойство извлекаемых объектов, например,

«Активный».

В результате задания значений атрибутов «Условия извлечения объектов»,

приведенных в примере, должны быть извлечены все объекты класса

«Контрагент», имеющие статус «Активный».

Если строка или столбец соответствуют периодам, то вместо перечисленных

выше свойств должен быть задан атрибут «Соответствует периоду». Его значением

является объект, который должен быть создан в одном из классов,

соответствующих типам периодов – Год, Квартал, Месяц, Неделя, День. В таком

объекте может быть задан конкретный интервал времени, периоды

соответствующего типа из которого должны быть показаны в таблице, или

интервал относительно текущей даты. Может быть также указано условие о том,

что выбор периода доступен пользователю в форме построения отчета.

28

Для описания способа расчета значений, выводимых в ячейках построенной

таблицы, должны быть созданы объекты класса «Способ формирования значения».

Каждый такой объект описывает способ расчета значений в ячейке на пересечении

определенной строки и столбца, которые должны быть указаны в атрибуте

«Применим к элементу структуры отчета». В атрибуте «Класс объектов»

указывается, объекты какого класса должны быть использованы для расчета

значения в ячейке. Эти объекты могут быть связаны с объектами,

соответствующими строке и столбце таблицы, связями, указанными

соответственно в атрибутах «Связь с объектом в строке» и «Связь с объектом в

столбце».

После того, как система определит набор объектов, попадающих в

определенную ячейку таблицы, она должна применить к ним какую-либо

агрегирующую операцию, для того чтобы получить значение, которое должно быть

выведено в соответствующей ячейке. Вид операции выбирается в поле

«Использовать операцию агрегирования» из перечисления, содержащего

стандартный набор операций – подсчет количества, суммирование, нахождение

среднего, максимума или минимума. Если указана любая операция, кроме подсчета

количества, необходимо указать свойство, к значению которого она будет

применена, в атрибуте «Использовать свойство».

7.2. Построение отчетов в интерфейсе АрхиГраф.СУЗ

При нажатии на пункт «Отчеты» меню АрхиГраф.СУЗ открывается страница,

на которой пользователю предлагается выбрать отчет (из числа объектов класса

«Отчет»), а затем, если требуется указание периода построения отчета – выбрать

период:

Рис. 33. Страница отчетов

29

Как следует из описания метамодели, столбцы и строки отчета могут

строиться по одному из двух вариантов: иметь фиксированный состав, или

генерироваться динамически в соответствии с каким-либо набором объектов.

Рассмотрим модель отчета, показанного на рис. 33.

Для этого отчета должна быть создана группа строк «Организации», и

вложенная в нее строка «Организация», связанная с условием отбора объектов

класса «Организация». Ключевые атрибуты этой строки должны быть заданы так:

Рис. 34. Форма свойств строки отчета, описывающей организации

Благодаря установленному переключателю «Создавать строку/столбец для

каждого объекта» в форме будет создана отдельная строка для каждого

извлеченного из хранилища объекта класса «Организации».

Столбцы в данной форме являются фиксированными и не объединены в

группу. Необходимо создать объект класса «Столбец» для каждого из двух

столбцов.

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

Нужно создать два способа, каждый из которых будет привязан к одному из

столбцов таблицы и ее единственной строке. Для способа расчета значения в

первом столбце должна быть выбрана агрегирующая операция «Суммирование» и

атрибут «Бюджет проекта» объекта класса «Проект», связанного с организацией

(объектом в строке) связью «Исполнитель». В способе расчета для второго столбца

должна быть выбрана операция «Подсчет количества» для объектов класса

«Физическое лицо», связанных с объектом в строке связью «Является

работником».

Приведем пример настройки способа расчета для первого столбца:

30

Рис. 35. Настройка способа расчета для столбца «Сумма стоимости проектов»

Рассмотрим отчет другой формы, столбцы которого соответствуют

периодам:

Рис. 36. Пример отчета «Статистика по проектам»

Данный отчет должен выводить количество проектов, начатых в каждом

месяце каждой из организаций. Для этого отчета нужно создать столбец «Месяц»,

связанный с условием извлечения объектов «Извлечение месяцев», где указано, что

он соответствует периоду «Месяцы». В свойствах столбца необходимо установить

переключатель «Создавать строку/столбец для каждого объекта». В соответствии с

этим система создаст отдельный столбец для каждого месяца, входящего в период,

выбранный пользователем в настройках отчета.

Для заполнения значениями этого отчета нужно создать способ

формирования значений, имеющий следующие свойства:

31

Рис. 37. Настройка способа формирования значений для отчета

«Статистика по проектам»

В этой форме указано, что для каждой ячейки таблицы отчета, связанной с

определенной организацией-исполнителем в строке и месяцем в столбце,

необходимо определить объекты класса «Проект», связанные с организацией

связью «Исполнитель» и с месяцем свойством «Дата запуска», а затем найти

количество этих объектов.