
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра АПУ
ОТЧЕТ
по практической работе №3
по дисциплине «Инженерия знаний»
Тема: Разработка онтологической модели в Protégé
Студент гр. 1391 |
__________________ |
Поникаровский А. В. |
Преподаватель |
__________________ |
Котова Е. Е. |
Санкт-Петербург
2024
Лабораторная работа 1. Protégé.
Цель работы: разработка онтологической модели в Protégé. Создание классов.
Задание на выполнение лабораторной работы.
Построить онтологическую модель в редакторе Protégé, включающую не менее 10 классов и подклассов. Для каждого класса и подкласса определить 1–2 свойства-отношения и 2–10 свойств-данных.
Предметная область онтологии для примера изучения редактора выбирается самостоятельно.
Выбор темы:
Моя тема: транспорт.
Тема "транспорт" является крайне актуальной в наше время по нескольким причинам: в условиях явной глобализации транспорт становится критически важным для связи между регионами и странами, способствуя торговле и культурному обмену; развитие городов и увеличение населения требуют обеспечения эффективных транспортных систем, что делает инновации в этой области приоритетными; разработка устойчивых транспортных решений становится важной задачей для создания безопасной и экологически чистой среды.
По теме "транспорт" удобно строить онтологию, так как:
Многообразие сущностей: Транспорт включает множество составляющих, что позволяет создать хорошо структурированные связи между понятийными единицами.
Ясные и структурированные отношения: Онтология может описывать отношения между различными элементами, такими как вид транспорта, водитель или пассажир, что способствует внятному пониманию системы.
Для выбранной предметной области была создана структура классов:
Создание свойств отношений:
Создание свойств данных:
Представление онтологии в виде графа OntoGraph:
Лабораторная работа №2
Цель работы: разработка онтологической модели. Создание экземпляров классов.
Задание на выполнение лабораторной работы.
В онтологической модели по варианту, выбранному в лабораторной работе №1, определить для каждого класса 3-5 индивидов. Для каждого индивида задать 3-5 свойств-отношения.
Для каждого индивида задать 3-5 свойств-данных.
Лабораторная работа №3
Цель работы: разработка SPARQL-запросов.
Задание на выполнение лабораторной работы.
Протестировать в Protégé с помощью SPARQL-запросов онтологическую модель, разработанную по варианту, выбранному в лабораторной работе №1.
Предварительная формулировка запросов при помощи формализма моделей представления знаний. Запросы формулируются заранее в соответствии со структурой базы знаний (Л/работа 1).
Создание запросов (3 – 5 запросов).
Представить копии экранов программы с 5-7 SPARQL-запросами, содержащими модификаторы и графовые шаблоны.
Запрос 1
Вывести все классы и их подклассы
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?subject ?object
WHERE { ?subject rdfs:subClassOf ?object }
Запрос 2
Вывести все индивиды подкласса «Трамвай»
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ns: <http://www.semanticweb.org/аким/ontologies/2024/10/untitled-ontology-5#>
SELECT ?subject
WHERE { ?subject rdf:type ns:Трамвай }
Запрос 3
Найти среди индивидов водителей с фамилией Рыжков
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ns: <http://www.semanticweb.org/аким/ontologies/2024/10/untitled-ontology-5#>
SELECT ?Driver ?Name
WHERE {
?Driver rdf:type ns:Водитель.
?Driver ns:ФИО ?Name.
FILTER(?Name > 'Рыжков')
}
Запрос 4
Вывести индивидов подкласса «Механик» которые имеют отношение «ремонтирует» с подклассом «Грузовой»
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ns: <http://www.semanticweb.org/аким/ontologies/2024/10/untitled-ontology-5#>
SELECT ?Mechanic ?Car
WHERE {
?Mechanic rdf:type ns:Механик.
?Car rdf:type ns:Грузовой.
?Mechanic ns:ремонтирует ?Car
}
Запрос 5
Вывести свойство «ФИО» у индивидов подкласса «Пассажир»
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ns: <http://www.semanticweb.org/аким/ontologies/2024/10/untitled-ontology-5#>
SELECT ?Person ?Name
WHERE {
?Person rdf:type ns:Пассажир.
?Person ns:ФИО ?Name
}
Вывод
В ходе лабораторных работ я познакомился с инструментом для построения онтологий Protégé, научился создавать базовые классы, свойства-отношения и свойства-объекты, а также выбирать для них типы данных. Я освоил создание экземпляров классов, присваивание значений свойствам и работу с SPARQL-запросами, а также научился визуализировать модели онтологий.