Материал: Sb96724

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

отображения онтологий может использовать плагин OntoGraf. Для его активации (если он еще не активирован) в главном меню Protégé необходимо выбрать пункт Window/Tabs и в появившемся подменю поставить галочку напротив пункта OntoGraf (рис. 2.1).

Рис 2.1. Активизация вкладки OntoGraf

После этого в основном окне Protégé должна появиться вкладка с названием OntoGraf. При выборе этой вкладки в левой части окна отображается панель с иерархией классов, в правой – область диаграмм графического отображения онтологии, в верхней части расположена панель инструментов.

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

21

Рис. 2.2. Диаграмма классов

На рис. 2.2 показан пример отображения диаграммы классов для учебной онтологии, рассмотренной в Лабораторной работе № 1.

2.2.Методика выполнения работы

1.Спроектировать онтологию, описывающую предметную область, в соответствии с вариантом задания, согласованным с преподавателем. Варианты предметных областей могут быть выбраны из приведенного ниже списка или предложены студентом самостоятельно. Реализовать спроектированную онтологию с использованием редактора Protégé.

Онтология

должна

содержать

не менее 50 классов,

30

свойств и

30 индивидов.

Свойства

должны

включать примитивные

и

объектные,

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

2. Активировать (если он еще не активирован) в главном меню Protégé плагин OntoGraf. С помощью вкладки OntoGraf отобразить графически онтологию или ее часть, выбранную для иллюстрации возможностей

OntoGraf.

22

Варианты предметных областей:

1.Продукты питания (виды продуктов, блюда, меню и др.).

2.Транспорт (воздушный, наземный, личный, общественный, грузовой, пассажирский, типы и марки автомобилей и др.).

3.Компьютеры и комплектующие (настольные, мобильные, персональные, сервера, комплектующие: материнские платы, память, процессор и др.).

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

2.3.Содержание отчета

1.Цель выполнения работы.

2.Графическое изображение разработанной онтологии из выбранной предметной области.

3.Скриншоты экранных форм с вкладками созданных классов, свойств и индивидуумов.

4.Скриншот онтологии во вкладке OntoGraf.

5. Представление созданной онтологии в машинном формате.

6. Выводы о результатах работы.

2.4. Вопросы для самоконтроля

1. Перечислите и охарактеризуйте основные шаги при проектировании онтологий.

2. В чем отличие примитивных и объектных свойств?

3.Приведите примеры обратных, функциональных и обратно функциональных свойств.

4.Приведите примеры транзитивных, симметричных и асимметричных свойств.

5.Приведите примеры рефлексивных и иррефлексивных свойств.

6. Как активизировать вкладку для визуализации онтологий OntoGraf?

7. Какие варианты отображения онтологии позволяет выбирать

OntoGraf?

8. Как выбрать требуемый вариант отображения онтологии в OntoGraf?

23

ЛАБОРАТОРНАЯ РАБОТА № 3 Разработка приложений семантического Web с использованием библиотеки Jena

Цель работы: сформировать базовые навыки программного доступа к информационным ресурсам семантического Web и их обработки с использованием фреймворка Jena.

3.1. Общие сведения

Jena – свободно распространяемый Java-фреймворк с открытым исходным кодом для построения приложений семантического Web и связанных данных (Linked Data). Разработка Jena как библиотеки Javaклассов была начата фирмой Hewlett Packard. В настоящее время развитие фреймворка Jena поддерживается фондом Apache Software Foundation [9].

На момент сдачи в печать настоящего пособия (июнь 2018 г.) актуальной версией является apache-jena-3.5.0, доступная для скачивания по адресу: https://jena.apache.org/download/index.cgi. Начиная с версии 3.0.0 Jena

требует для работы Java 8.

Создание моделей. Внутреннее представление семантического ресурса (в частности, онтологии) в Jena называется моделью. Модели соответствует базовый интерфейс Model, предоставляющий доступ к RDF-тройкам. Интерфейс OntModel расширяет Model, добавляя поддержку классов, свойств и экземпляров. Именно этот интерфейс используется для работы с онтологиями.

Простейший способ создания модели:

OntModel model = ModelFactory.createOntologyModel();

При этом создается модель с параметрами по умолчанию. В число параметров входят: язык (RDFS, OWL Lite, OWL DL, OWL Full), способ хранения модели (в оперативной памяти или в базе данных), способ логического вывода. Но на параметры по умолчанию лучше не полагаться, так как они могут отличаться в разных версиях Jena. Рекомендуется пользоваться следующим способом создания модели:

OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);

Класс OntModelSpec служит для задания параметров модели. В нем существует ряд предопределенных констант, например:

24

OntModelSpec.OWL_DL_MEM – язык OWL DL, хранение модели в памяти, отсутствие логического вывода (именно этот вариант рекомендуется

врамках данной работы);

OntModelSpec.OWL_LITE_MEM – язык OWL Lite, хранение модели

впамяти, отсутствие логического вывода;

OntModelSpec.OWL_DL_MEM_TRANS_INF – язык OWL DL,

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

Чтение и сохранение моделей. Jena поддерживает загрузку моделей как из файлов на локальной машине, так и из ресурсов на удаленных серверах. Для загрузки используется универсальный метод интерфейса Model:

read(String url).

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

OntDocumentManager:

OntDocumentManager manager =

model.getDocumentManager();

Основные методы этого класса, относящиеся к процессу импорта онтологий:

setProcessImports(boolean processImports) – включает или выключает автоматический импорт онтологий;

addIgnoreImport(String uri) – позволяет выборочно задавать адреса (URI) тех онтологий, которые не нужно импортировать;

addAltEntry(String docURI, String locationURL)

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

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

Для сохранения модели используется следующий метод интерфейса

OntModel:

write(java.io.OutputStream out).

25