Skip to content

Настройка семантического поиска ​

Семантический поиск позволяет извлекать и представлять в табличной форме информацию из базы фактов (ABox) и базы знаний (TBox).

Работа с реестром семантических поисков ​

Перейдите к разделу Семантический поиск: Панель навигации -> Семантический поиск После перехода откроется реестр Семантический поиск.

Общие функции работы с реестрами описаны в разделе Работа с реестрами.

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

Карточка содержит следующие вкладки:

  • Инфо: на вкладке размещены следующие поля

    • Поле Семантический поиск - наименование поиска (обязательно для заполнения)
    • Поле Код - используется при работе с ИИ-ассистентом
    • Поле Примечания - предназначено для ввода примечаний
    • Поле Предметная область - предназначено для добавления предметных областей
    • Поле Теги - предназначено для добавления тегов (используется для фильтрации по тегам в реестре)

    Все изменения в карточке сохраняются автоматически

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

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

На Панели инструментов карточки размещены:

  • Копировать семантический поиск - создание копии поиска (доступно пользователям с правом редактирования поиска; наименование копии снабжается суффиксом "(копия)")
  • Открыть семантический поиск - открытие поиска в режиме редактирования
  • Комментарии - открытие диалогового окна с комментариями поиска (иконка выводится, если комментарии включены в Главном меню платформы OSA)
  • Кнопка ЖЦ - управление жизненным циклом семантического поиска (выводится для сохраненного поиска; доступна пользователям с правом редактирования)
  • Закрыть карточку - закрытие карточки

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

Административный функционал

Функционал доступен только администраторам!

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

Создание и редактирование семантического поиска ​

Для создания нового семантического поиска:

  1. Перейдите в раздел Семантический поиск на Панели навигации и кликните по кнопке Создать поиск
  2. В появившейся карточке укажите название нового семантического поиска и кликните по иконке Открыть семантический поиск для перехода в режим редактирования поиска

Редактирование семантического поиска начинается с выбора корневого класса. Окно выбора корневого класса появляется автоматически при первом открытии поиска в режиме редактирования или при клике по иконке Выбрать новый корневой класс

Окно выбора корневого класса содержит следующие вкладки:

  • Класс - выбор корневого класса (Поле Выберите класс)
  • Предикат - выбор предиката (Поле Выберите предикат)
  • Индивид - выбор индивида (Поле Выберите индивид)

Кнопка Применить - применение выбора. Кнопка Отмена - отмена выбора и закрытие окна.

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

Панель инструментов ​

Состав элементов Панели инструментов семантического поиска:

  • Сохранить поиск - сохранение семантического поиска; при сохранении коды колонок должны быть уникальны
  • Скопировать ссылку на поиск - копирование ссылки на поиск в буфер обмена
  • Выгрузить результаты поиска в MS Excel - выгрузка текущих результатов поиска в файл MS Excel
  • Выбрать новый корневой класс - открытие окна выбора корневого класса (см. раздел Создание и редактирование семантического поиска)
  • Меню Способ отображения результатов поиска - выбор способа отображения результатов (см. подраздел Способы отображения результатов)
  • Включить/Отключить автоматическое отображение результатов поиска - управление автоматическим отображением результатов при изменении поиска
  • Отобразить результат - отображение результата поиска (см. раздел Результаты семантического поиска)
  • Назначения - управление назначением пользователей на роли для работы с поиском
  • Открыть панель настроек семантического поиска - см. раздел Панель настроек семантического поиска

Конструирование дерева семантического поиска ​

Конструирование дерева семантического поиска производится с помощью выпадающего меню класса, которое появляется при клике левой клавишей мыши по элементам-классам поиска (зеленый или желтый прямоугольники):

В меню класса доступны четыре раздела:

  • Подклассы - список подклассов выбранного класса (только первый уровень наследования)
  • Отношения - список отношений, для которых выбранный класс является доменом
  • Свойства - список скалярных свойств, для которых выбранный класс является доменом
  • Ссылки - список отношений, для которых выбранный класс является диапазоном

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

Выбор любого элемента в меню класса приведет к отображению в дереве семантического поиска выбранного свойства/отношения и его объекта-диапазона.

Внимание

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

В меню класса также доступны действия:

  • Оставить только этот класс - удаление всех остальных элементов дерева с сохранением выбранного класса
  • Показать экземпляры - отображение экземпляров выбранного класса в таблице
  • Обновить структуру - см. раздел Обновление структуры классов семантического поиска
  • Произвольные свойства - открытие диалога управления произвольными свойствами (доступен только администраторам)

Рекурсивный поиск по свойству ​

Кликните по узлу-свойству в дереве семантического поиска — будет открыт диалог настройки рекурсивного поиска:

  • Флаг Рекурсивно - включение рекурсивного поиска по свойству
  • Поле Выберите ограничение для рекурсивного поиска - ограничение для рекурсивного поиска
  • Кнопка Применить - применение настроек; кнопка Отмена - закрытие диалога

Узел рекурсивного поиска будет отображен на полотне пунктирной рамкой.

Элементы дерева семантического поиска ​

Все элементы дерева семантического поиска имеют форму прямоугольника со скругленными углами. Цвет заливки прямоугольника указывает на тип элемента:

  • Зеленый - корневой класс семантического поиска
  • Желтый - класс
  • Голубой - отношение или свойство
  • Белый - скалярный тип данных (Строка, Целое число, Дата и т.п.)

Результаты семантического поиска ​

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

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

Рассмотрим построение семантического поиска и отображение его результатов на примере следующей онтологии:

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

  • отцов людей
  • вес отцов людей
  • жён отцов людей

Этапы построения дерева семантического поиска:

  1. В качестве корневого класса семантического поиска выберем класс хх Люди
  2. В меню класса хх Люди в разделе Свойства выберем свойство хх Люди для отображения в результатах поиска названий экземпляра класса хх Люди (овал оранжевого цвета на картинке ниже)
  3. В меню класса хх Люди в разделе Отношения выберем отношение хх имеет отца (овал красного цвета). Видно, что отцом человека является мужчина, т.к. диапазоном отношения хх имеет отца является класс хх Мужчина
  4. В меню класса хх Мужчина выберем свойство хх имеет вес (овал голубого цвета) - это вес мужчины, являющегося отцом человека
  5. В меню класса хх Мужчина выберем отношение хх имеет жену (овал зеленого цвета) - это жена мужчины, являющегося отцом человека

Внимание

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

Способы отображения результатов ​

Способ отображения результатов выбирается в меню Способ отображения результатов поиска на Панели инструментов:

  • Таблица - табличное представление результатов поиска
  • Сводная таблица - сворачивание результатов с помощью сводной таблицы
  • Карта экземпляров - отображение результатов в виде карты экземпляров
  • Таблицы экземпляров - отображение экземпляров в виде таблиц

В режиме Таблица:

  • сортировка выполняется кликом по заголовку колонки (по возрастанию/по убыванию)
  • при наведении курсора на строку результата выводится иконка Анализировать в факт-эксплорере - переход к исследованию соответствующего экземпляра в факт-эксплорере

Внимание

При количестве строк в результатах поиска более 10 000 будет выведен запрос Ограничение кол-ва строк с возможностью ограничить количество строк (Ограничить) или продолжить без ограничения (Продолжить без ограничения).

В режиме Сводная таблица:

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

Настройки сводной таблицы сохраняются вместе с семантическим поиском.

В режиме Карта экземпляров результаты поиска отображаются в виде графа на полотне. К результатам применяются фильтры семантического поиска. Работа с полотном карты выполняется по аналогии с работой в Факт-эксплорере.

В режиме Таблицы экземпляров выводится таблица экземпляров классов из дерева поиска. Заголовок таблицы — наименование класса и количество экземпляров в ней.

Для управления таблицами экземпляров предназначены:

  • Зафиксировать сетку - фиксация сетки таблицы
  • Сохранить вид - сохранение представления таблицы
  • Удалить - удаление таблицы

Для управления таблицей предназначены:

  • Раскрыть таблицу - отображение таблицы на весь экран
  • меню - переключение способа отображения таблицы

Примеры извлечения метаданных из базы знаний (TBox) ​

Классы онтологической карты

Свойства класса и их диапазоны

Дата создания и создатель

Панель настроек семантического поиска ​

Для открытия панели настроек семантического поиска кликните по иконке Открыть панель настроек семантического поиска на Панели инструментов.

На Панели инструментов панели настроек размещены:

  • Добавить расчетную колонку - добавление расчетной колонки (на вкладке Расчетные колонки)
  • Добавить шаблон - добавление шаблона (на вкладке Шаблоны)
  • Закрыть панель настроек - закрытие панели настроек

Вкладка Колонки ​

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

ПолеОписание
Оригинальное названиеНазвание отношения, как оно указано в онтологии. Если не указано значение в поле Новое название, то именно это название будет отображаться в заголовке колонки с результатами поиска
Новое названиеПереопределение заголовка колонки для отображения в результатах семантического поиска
КодКод колонки должен состоять из латинских букв без пробелов, допускаются символы подчеркивания. Код колонки имеет смысл указывать только в том случае, если в семантическом поиске используются расчетные колонки
ПорядокЧисло, указывающее на порядок колонки в результатах поиска. Чем меньше число, тем ближе к началу (левому краю) таблицы находится колонка
СортировкаПорядковый номер (число) в сортируемой последовательности задает правила сортировки результатов семантического поиска. При единственном сортируемом поле значение не важно, для нескольких сортируемых полей важно только их соотношение (например, если в передаваемом запросе есть три отношения prop1, prop2, prop3 со значениями сортировки 12, 3, 8 соответственно, то сортировка будет осуществлена в такой последовательности: prop2, prop3, prop1). Направление сортировки выбирается переключателем: по возрастанию/по убыванию
СкрытьУправляет отображением колонки в результатах семантического поиска
Не фильтроватьСлужебный параметр для использования в общесистемных поисках. Видимых изменений в пользовательские поиски не вносит
ГруппироватьУправление группировкой (агрегацией) результатов поиска. Способ агрегации выбирается в поле Способ агрегации из списка: Сумма, Среднее, Список, Список уникальных, Макс, Мин, Количество, Количество уникальных

Вкладка Расчетные колонки ​

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

ПолеОписание
Название колонкиНазвание расчетной колонки для отображения в результатах семантического поиска
Формула для расчетаДопустимы любые валидные конструкции Javascript. В качестве ссылок на обычные колонки необходимо использовать коды колонок (задаются на вкладке Колонки) в квадратных скобках (см. примеры ниже). Формулы рассчитываются построчно, сослаться на значение в другой строке или посчитать сумму по всем строкам не получится.
ПорядокСм. описание одноименного поля на вкладке Колонки
Тип данныхТип данных расчетной колонки: Строка, Число, Дата-время
ГруппироватьУправление группировкой (агрегацией) результатов поиска. Для полей разных типов доступны различные способы агрегации

Для управления расчетными колонками предназначены:

  • Кнопка Добавить новую расчетную колонку - добавление расчетной колонки
  • Иконка Удалить - удаление расчетной колонки в соответствующей строке

Примеры формул

  • [cost] * [amount] - формула для вычисления суммы как произведения цены (значения в колонке с кодом cost) на количество (значения в колонке с кодом amount)
  • [code] + ". " + [name] - формула для вычисления составного названия объекта типа "Код. Название"
  • [dev] < 0 ? "Плохо" : "Хорошо" - условная формула; если в колонке с кодом dev значение будет меньше нуля, то результатом будет "Плохо", иначе "Хорошо"
  • [auto] == 1 ? "Да" : "" - условная формула; если в колонке с кодом auto значение будет равно единице, то результатом будет "Да", иначе пустая строка
  • "Скидка: " + ([isMember] == 1 ? 20 : 10) + "%" - условная формула; если в колонке с кодом isMember значение будет равно единице, то результатом формулы будет строка "Скидка: 20%", иначе "Скидка: 10%"

Особенности синтаксиса формул

  • Для указания строковых литералов (строк) используйте двойные кавычки "
  • В качестве разделителя целой и дробной части в вещественных числах используйте точку .
  • В условном операторе условие ? выражение1 : выражение2, - условие - выражение, принимающее значение true (истина) или false (ложь) - выражение1, выражение2 - выражения, значения которых могут принадлежать любому типу данных - в качестве оператора сравнения типа "равно" в условии используйте двойной знак равенства == - условный оператор возвращает значение выражения1, если условие верно, и значение выражения2 в противном случае :::

Вкладка Фильтры ​

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

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

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

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

Для управления фильтрами предназначены:

  • Кнопка Добавить новый - создание нового фильтра (выводится, если фильтров пока нет)
  • Иконка Редактировать фильтр - открытие редактора фильтра
  • Иконка Удалить - удаление фильтра

Для редактирования фильтра:

  1. В поле Название фильтра укажите наименование фильтра
  2. Кликните по иконке Редактировать фильтр:
  • в открывшемся диалоге выберите параметр для фильтрации (Поле Выберите параметр для фильтрации) и постройте сеть ограничений

Для построения ограничения:

  • Поле Параметр - выбор ограничиваемой колонки
  • Поле Условие - выбор условия ограничения: содержит, равно, не равно, пусто, не пусто, больше, меньше (выводятся в зависимости от типа колонки)
  • Поле Ограничение - значение ограничения (текст, дата или выбор экземпляра)
  • Флаг Сегодня - использование текущей даты выполнения запроса
  • вариант -= Текущий пользователь =- - использование текущего пользователя, выполняющего запрос
  • Кнопка Добавить - добавление ограничения; кнопка Отменить - закрытие диалога

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

  • Добавить И - добавление узла И
  • Добавить ИЛИ - добавление узла ИЛИ
  • Добавить соединение - связывание узлов
  • Удалить - удаление узла или связи
  1. Нажмите на кнопку Закрыть — ограничение фильтра будет сформировано автоматически

Информация

При некорректной структуре фильтра будет выведено сообщение "Неправильно сконструирован фильтр. Из каждого узла должна выходить ровно одна связь."

Шаблоны ​

На вкладке Шаблоны настраиваются шаблоны представления результатов семантического поиска.

Информация

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

Для добавления шаблона:

  1. Нажмите на кнопку Добавить шаблон на Панели инструментов панели настроек
  2. В диалоге настройки выберите шаблон в поле Шаблон и при необходимости заполните динамические параметры шаблона
  3. Нажмите на кнопку Добавить

В списке шаблонов доступны:

  • Скопировать ссылку для вставки в документ - копирование кода вставки шаблона в буфер обмена
  • Редактировать шаблон - открытие диалога настройки шаблона
  • Удалить шаблон - удаление шаблона

Информация

Кнопка Информация в диалоге настройки шаблона открывает документ с инструкцией по использованию шаблона.

Обновление структуры классов семантического поиска ​

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

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

Для обновления структуры любого класса в семантическом поиске кликните по классу и в появившемся меню кликните по кнопке Обновить структуру. В результате, в меню структуры класса будут добавлены новые отношения из онтологии (которых не было на момент создания поиска), а удаленные отношения будут помечены префиксом "(!удалён)". Также, удаленные отношения в дереве поиска будут выделены красным цветом.

Использование результатов в других объектах ​

Результаты семантического поиска могут использоваться в других объектах платформы OSA:

  • Дискурсы объектов и Документы - вставка результатов поиска в содержимое с помощью пункта Вставить семантический поиск; см. раздел Дискурсы объектов
  • Структурированные документы - компонент Результат семантического поиска
  • Диаграммы - отображение результатов поиска, связанных с диаграммой, через меню Реестры (таблицы)
  • Граф - использование поисков в качестве источников вершин и связей графа (меню Источник данных графа)
  • Виджеты Рабочих пространств - перечень поисков, привязанных к классу на онтологической карте