УДК 004.822
РАЗРАБОТКА ОНТОЛОГИЙ ПО ПРЕДМЕТНОЙ ОБЛАСТИ «СТРАНЫ АЗИИ» В ПРОГРАММНОЙ СРЕДЕ PROTÉGÉ 4.2
© 2017 Каунг Мьят Хту1, Ту Раин2, Хеин Мин Зо3
1-3аспирант кафедры программного обеспечения и администрирования информационных систем e-mail: kaungmhtoo16267@gmail.com
Курский государственный университет
Формализации в онтологии областей знаний с помощью концептуальной схемы. Определение атрибутов класса и свойств экземпляров. Создание экземпляров класса и DL-Query запросов. Методика использования для разработки онтологии среды разработки Protege.
Ключевые слова: онтология, техническая предметная область, информация, семантическая сеть, DL-query запросов.
Темой данной работы является разработка онтологии в программной среде Protégé. На данный момент у термина «онтология» существуют два значения: онтология в философии и онтология в информатике.
Онтология в информатике - это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Обычно такая схема состоит из структуры данных, содержащей все ревалентные классы объектов, их связи и правила (теоремы, ограничения), принятые в этой области.
Как правило, онтологии состоят из следующих элементов: понятия (классы), индивиды (экземпляры), отношения и атрибуты.
Индивиды (экземпляры) - это основные, нижнеуровневые компоненты онтологии. Индивиды могут представлять собой как физические объекты (люди, дом, планета), так и абстрактные (числа, слова). Одной из главных целей онтологии является классификация индивидов.
Понятия (классы) - абстрактные группы, коллекции или наборы объектов. Они могут включать в себя экземпляры, другие классы, либо же сочетания и того, и другого.
Атрибуты. Объекты в онтологии могут иметь атрибуты. Каждый атрибут имеет, по крайней мере, имя и значение и используется для хранения информации, которая специфична для объекта и привязана к нему.
Отношения. Обычно отношением является атрибут, значением которого является другой объект.
Термин «онтология» впервые появился в 1993 г. в работе Томаса Грубера, в которой рассматривались различные аспекты взаимодействия интеллектуальных систем между собой и с человеком.! Интеллектуальными системами называются программы, которые моделируют некоторые аспекты интеллектуальной деятельности человека. ! Онтология представляет собой описание декларативных знаний, предназначенное для чтения человеком и выполненное в виде классов с отношением иерархии между ними.
В настоящее время онтологии используются в процессе программирования как форма представления знаний о реальном мире или его части. ! Основными сферами
применения являются: моделирование бизнес-процессов, семантическая паутина (Semantic Web), искусственный интеллект.
Чаще всего онтологии используют:
□ для совместного использования людьми или программными агентами общего понимания структуры информации;
□ для возможности повторного использования знаний в предметной области;
□ для того чтобы сделать допущения в предметной области явными;
□ для отделения знаний в предметной области от оперативных знаний;
□ для анализа знаний в предметной области.
В настоящее время для создания и поддержки онтологий существует целый ряд инструментов, которые помимо общих функций редактирования и просмотра выполняют поддержку документирования онтологий, импорт и экспорт онтологий разных форматов и языков, поддержку графического редактирования, управления библиотеками онтологий и т. д.
Наиболее известными инструментами инженерии онтологий являются:
0 Система Ontolingua;
0 Protégé; 0 OntoEdit; 0 OilEd; 0 WebOnto;
0 OntoSaurus; 0 KADS22.
Целью работы является разработка онтологии предметной области «Страны Азии» в программной среде Protégé 4.2.
Задачи работы в связи с указанной целью:
0 составить глоссарий понятий предметной области;
0 определить основные классы и подклассы и построить иерархию
классов;
0 определить атрибуты классов и свойства экземпляров;
0 заполнить онтологию экземплярами;
0 создать базовые запросы (DL Query).
Protege онтология формализация
Создание классов
Классы интерпретируются как множества, элементами которых являются экземпляры. Они описываются, используя формальные конструкции, которые декларируют требования для членства в классе. !!
Классы могут быть организованы в иерархию отношений вида «подкласс -суперкласс» (таксономия). Подклассы являются подмножествами своего суперкласса.
Учитывая то, что выбрана предметная область «Страны Азии», были определены следующие классы и их подклассы. В качестве основного класса выступает класс «Страны Азии», имеющий подклассы в виде Страны. Так же имеем такие классы, как «Государства» и «Города».
В Protégé 4.2 создание классов осуществляется в закладке "Classes" (рис. 1). Изначально пустая онтология содержит один класс с именем THING. Класс THING - это класс, представляющий набор, содержащий все объекты предметной области.
S?
-I
Рис. 1. Создание классов
Для создания класса «Страны Азии» необходимо убедиться, что выбрана закладка "Classes", затем нажать кнопку «Добавить подкласс» (см. рис. 2). Эта кнопка создает новый класс как подкласс выбранного класса (в данном случае как подкласс класса THING). Отобразится диалоговое окно для ввода названия нашего класса, после ввода необходимо нажать Enter (рис. 3).
Создать подкласс
Созд атъ ролгтвопнып класс Удалить класс
« la» г 1 Hi ™ Ома nieraтсЬу 1 • гЧсчео ■
p.
| ▼ • Thing
Рис. 2. Создание классов
Таким же образом создаются подклассы класса «Страны Азии». Необходимо отметить, что например класс «Страны Азии» является родственным классом по отношении к классу «Неазиатские страны», поэтому для создания родственных классов необходимо использовать кнопку «Создать родственный класс».
В результате получена следующая иерархия классов._
Fie Е<М view Reesonef Tools Retsctor Wndow Help
<J О I ♦ апШЛ DWotogy-И (hitp:tfwww $«ni»olicweb Qfg/kaungnin/ontologaV20l7/5/unttled4>ntoloay-S3)
1ИИИИИИИИИ 1 I «——ЯМ ^^нии^имшм!
To use the reasoner ctck Reasoner->Start reasoner (< Show tiferences
Рис. 3. Иерархия классов
Также полученный результат можно построить в виде графа в закладке "О^оОгаР.
Рис. 4. Дерево классов
Определение атрибутов класса и свойств экземпляров
В Protégé 4.2 существует два основных типа свойств: свойства объекта (Object Properties) и свойства типов данных (Data Properties). Свойствами объекта являются отношения между двумя экземплярами.
В Protégé 4.2 по умолчанию автоматически создаются свойства объектов верхнего уровня (TopObjectProperties), по аналогии с классом THING (рис. 5). Для создания свойств объекта необходимо перейти в закладку "Object Properties".
Рис. 5. Создание свойств объекта Свойства объекта создаются подобным способом, как и классы.
добавить полвойство
Я DλH1b рол СI fw иное гяоПство удали г ь cboIcibo
ли м а — мм Im«»« Оши 1 Оа/кя »цжпи Слаачмлм
Ь i э ж]
m t opObiectPropef 11
Рис. 6. Создание свойств объекта Каждое свойство набор характеристик (рис. 7).
Characteristics: topOb ШВИЕ)
! Functional I Inverse functional □ Transitive I Symmetric I Asymmetric i Reflexive ~1 Irreflexive
Рис. 7. Характеристики свойств объектов
Функциональные свойства (Functional). Если свойство является функциональным, то для данного индивида (экземпляра) может существовать не более одного индивида, который имеет отношение к первому индивиду через это свойство.
Обратные функциональные свойства (Inverse functional). Если свойство является обратным функциональному свойству, то это значит, что свойство является обратным функциональным.
Транзитивные свойства (Transitive). Если свойство транзитивное и связывает индивида a и индивида b, а также индивида b с индивидом с, то мы можем вывести, что индивид a связан с индивидом c через это свойство.
Симметричные свойства (Symmetric). Если свойство p симметричное, и свойство связывает индивида a с индивидом b, то индивид b связан также с индивидом a через свойство p.
Асимметричные свойства (Asymmetric). Если свойство p асимметричное и связывает индивида a с индивидом b, то индивид b не может быть связан с индивидом a через свойство p.
Рефлексивные свойства (Reflexive). Свойство p называется рефлексивным, когда индивид a должен быть связан с собой.
Иррефлексивные свойства (Irreflexive). Если свойство p иррефлексивное, то оно может быть охарактеризовано как свойство, которое связывает индивида a с индивидом b, где индивид a и индивид b обязательно разные.
Пример транзитивного свойства представлен на рисунке 8.
File Edit View Reasoner Tools Refactor Window Help
I ф I О I <S> untMed-ontology-53 (http://w ww.semanticweb.org/kaungmh/ontologiesj2017/5/untitled-ontology-53)
Active Ontology Entities Classes Object Properties Data Properties Annotation Properties Individuals | OWLViz DL Query OntoGraf SPARQL Query Ontology Differences
4*11%
• Thing • Place if" • City ▼ • Country
▼ • AsiaCountries
• CentralAsiaCountries
• EasternAsianCountries fe IslandAsiaf ountries
i NothernAsiaCountries i SoutheastAsiaCountries
• SouthernAsiaCountries
• WesternAsiancountries
▼ ® NonAsiaCountries
▼ © AsiaNeighborCountries ; i EuropeanCountries • State
To use the reasoner click Reasoner->Start reasoner 0 Show Inferences
Рис. 8. Пример транзитивного свойства
Помимо этого каждое свойство объекта может иметь соответствующее обратное свойство. Если некоторое свойство связывает индивида a с некоторым индивидом Ь, то его обратное свойство связывает индивид Ь с индивидом a.
В данной работе в качестве примера для классов онтологии будут созданы следующие свойства объектов: имеет такой же класс, как (Все подклассы класса «Страны Азии»), относится к классу (Страны островной Азии и неазиатская страна).
Окончательный список свойств объектов представлен на рисунке 9.
File Edit View Reasoner Tools Refactor Window Help ^ I <3> untitled-ontology-15 hltp://www.semanticv/eb.orç|/kaungmh/ontolO9ies/2017/2/untitled-ontolO9y-15)
I Se-an: h fot entity
| Active Ontology Entities Classes | Object Properties | Data Properties | Annotation Properties Individuals | OWLViz | DL Query j OntoGraf | Ontology Differences J SPARQL Query |
к
■ topObjectProperty
■ conta insState ► ■ isLocatedln
I eisPartOf
■ nearbyCountry
HQ
□ Functional
□ Inverse functional _l Transitive
3 Symmetric
□ Asymmetric
□ Reflexive _l Irreflexive
ЕЦШ
Equivalent To ^^ Sub Property Of ^^ Inverse Of Q
Ranges (intersection) ^^ • Country
Disjoint With О
SuperProperty Of (Chain) Q
oooo oooo
Рис. 9. Список свойств объектов
Свойства типов данных (атрибуты класса) описывают связи между индивидом и значения данных.
Для создания свойств типов данных в Protégé 4.2 необходимо перейти в закладку "Data Properties" (рис. 10).
Рис. 10. Создание свойств типов данных
В качестве примера для классов онтологии будут созданы следующие свойства типов данных: население, территория и религия.
Окончательный список свойств типов данных представлен на рисунке 11.
Fie Edit View Reasoner Tools Refactor Window Help
I C> I ф untitled-ontology-53 (http //www.semanticweB.org/kaungmh/ontologtes/2017/5/untitled-ontology-53)
ЗГ
[ Active Ontology Entities Classes Object Properties ¡ Data Properties Annotation Properties Individuals OWLViz DL Query OntoGraf ¡ SPARQL Query Ontology Differences
To use the reasoner click Reasoner->Start reasoner 0 Show Inferences
Рис. 11. Свойства типов данных
Создание экземпляров класса
Последним этапом создания онтологии является заполнение классов экземплярами. Для создания экземпляров в Protégé 4.2 необходимо перейти в закладку "Individuals", нажать на иконку add individuals и задать имя экземпляра.
Tools Refactor Window Help
> BhutanCîty •M:¡ty
• <:hin>ic:iiy
• < onilXNliill :¡ty
• iHIMrity
Ф (.»M»nii.t( :it y
• ImktiCHy
• Indon^siiiCity
• Ir.inCity Ф l.ip.incity
• Kd/.ikhstdn( :ity
• Kyriiy/st.in
• M.ll.iysi.lCity
• M.iklivt^sCily
• Mon<|oli.i( ily Ф Hy>inniiir( : it y
• Ni-|h>l(:¡ty
• NorthK<>r<-.Hitv Ф l>.ikisl.in< ity
• SouthKoreaCity » Sri_lankaCity i TajikistanCity ThilandCity
Create a new OWLNc medlndívidual ЫЫ
Name: If IRI or Prefix-Name 1
RI:
1 New entity options... 1
a—i
■ Population 13197596
о ооо
o o
г click Reasoner->Start
Рис. 12. Создание экземпляра
В рамках данной работы было создано 93 экземпляра, которые распределены по классам следующим образом: классы "С^у"(35), Страны Азии (Страны Центральной Азии (6), Страны Восточной Азии (5), Островные страны Азии (9), Страны Северной Азии (1), Страны Юго-Восточной Азии (11), Южная Азия страна (8), Страны Западной Азии (19)).
После создания экземпляров, необходимо задать свойства объектов между экземплярами классов (рис. 13).
Fie Ed« View Reason er Took Refactor Window Help
IS
re Ontology En ties Classes Object Properties Data Properties
• IranClty JapanCity KazakhstanCity
« Kyrayzstan
• LaosCity MalaysiaCity MaldivesCity Mongolia« ity Myanma rCity NepalCity PakistanCity philippines'sCity RussiaCity SingaporeCity SouthKorcaCity Sri_lankaCity
• TajikistanCity ThilandCity Turkmenistan UzbekistanCity
« VietnamCity • Country T AsiaCountries
CentralAsiaCountries • EasternAsianCountries
NothernAsiaCountries
• Southeast AsiaCountries
• SouthernAsiaCountries __• WesternAsiancountries
Individual» м—
ZI®
♦ Iran" *
♦ Islamabad
♦ Jakarta
• Japan
♦ Kabul
♦ Kathmandu
♦ Kazakhstan
♦ Kuala Lumpur
♦ Kyrayzstan -
♦ Malaysia
♦ Maldives
♦ Male
♦ Manama
♦ Manila
♦ Mongolia
♦ Moscow
♦ Myanmar
♦ NayPyiTaw
♦ Nepal i—
♦ New Delhi
♦ NorthKorea
♦ Pakistan
♦ Philippiness
♦ Phnom Penh
♦ Pyongyang •
tn Properties Hdivduals | OWLVte OL QHy OntoOraf MNogy Differences SPARQL Query
-.-О 1 0t*ct prepay Л
• RussiaCity OOOO ■ IsCaptialOf Russia ■ isLocatedln Russia ©ÖÖC
Dfftrant Individual» Q -----------о ■ Population 13197596 W.u.nn.0 OOOO
Reasoner slate out of sync w«h active or
Рис. 13. Заполнение свойств объектов между экземплярами класса
Помимо этого для каждого экземпляра необходимо заполнить атрибуты классов. (рис. 14).
File Edit View Reasoner Tools Refactor Window Help
[ ^ I I ф untitled-ontotogy-53 (http://v/v^w.semanticweb.or9/kaungmh/ontolo9ies/2017/5/untitle<3-ontology-53)~
| Active Ontology Entities Classes Object Properties Data Properties | Annotation Properties
¡duals
I OWLVizI DL Query OntoGraf Ontology Differences SPARQL Query |
% *
• Iran City
Ф JapanCity
KazakhstanCity Kyrayzstan
• LaosCity MalaysiaCity MaldivesCity MongoliaCity MyanmarCity NepalCity
• PakistanCity philippines'sCity RussiaCity SingaporeCity SouthKoreaCity
• Sri_lankaCity TajikistanCity ThilandCity Turkmenistan UzbekistanCity
s VietnamCity
• Country T •AsiaCountries
• CentralAsiaCountries
• tasternAsianCountries
• IslandAsiaCountries NothprnAstarnuntries
• SoutheastAsiaCountries
I SouthernAsiaCountries
< WesternAsiancountries
r]®
• Islamabad
• Jakarta
• Japan
• Kabul
• Kathmandu
• Kazakhstan
• Kuala_Lumpur
• Kyrayzstan
• Malaysia
• Maldives
• Male
• Manama
• Manila
• Mongolia
• Moscow
• Myanmar
• NayPyiTaw
• Nepal
• New_Delhi
• NorthKorea
• Pakistan
• Philippiness
• Phnom_Penh
• Pyongyang
• Russia_
■ ]
ШШШ
Types Q
RussiaCity
oooo
«о
,„o
■ isCaptialOf Russia
■ isLocatedln Russia
territory "2,511 km2 (970 sg
■ Population 13197596
■ religion " Orthodox Christianity"-^string
OOOO OOOO
О
Reasoner active 0 Show Inferences
Рис. 14. Заполнение атрибутов класса для экземпляра этого класса
При заполнении атрибутов класса необходимо указывать тип данных, для данной онтологии для каждого атрибута используется тип данных "string", так как это универсальный тип данных, позволяющий использовать как цифры, так и символы.
Создание DL-query запросов
Последним этапом данной работы является создание базовых DL-Query запросов. Запросы отразят результат работы, а также могут помочь с поиском интересующей информации в заполненной онтологии.
Для создания запросов необходимо перейти в закладку DL-Query, а также на вкладке "Reasoner" выбрать "Start reasoner" (рис. 15).
File Edit View Reasoner Tools Refactor Window Help
¡4- <3>u Start reasoner Ctrf-R |
Active Ontology Properties Annotation Properties Individuals OWLViz DL Query OntoGraf Ontology Differences SPARQL Query
{ Class hierarchy | Annotations [ Usage
SSH FaCT-м- • HerrniT 1 3 8 У/ietnamciry ntry AsiaCountries • CentralAsiaCountries FasternAsianCountries —о -
С
€ IslandAsiaCountries NothernAsiaCountries i SoutheastAsiaCountries • SouthernAsiaCountries i WesternAsiancountries Selected entity Description Class Annotations | Class Usage
Object property erarchy Data property hierarchy Annotations Ж
Individuals by type | Annotation property hierarchy Datatypes
Ш || Description: NothernAsiaCountries HSi® ||||
► <• NothernAsiaCountries (1) ► «PakistanCity (1) ► •philippines'sCity (1) ▼••■• • RussiaCity (1) ♦ Moscow • SingaporeCity ( 1) ■•• SoutheastAsiaCountries (11) ■■• SouthernAsiaCountries (8) ► • SouthKoreaCity (1) • Sri JankaCity (1) ► • Та jikistanCity (1) ; Equivalent To Q Subclass Of Q #! < AsiaCountries SubClass Of (Aionymous Ancestor) Members ARnccia ftAft ж
То use the reasoner click Reasoner->Start reasoner 0 Show Inferences
Рис. 15. Создание запросов
К примеру, мы хотим вывести все подклассы класса «Страны Азии». Для этого в запросном окне необходимо написать названия класса и выбрать на панели объектов «Страны Юго-Восточной Азии» (рис. 16).
File Edit View Reasoner Tools Refactor Window Help
I I <£> I ф untitled-ontology-53 ihttp://www.semanticweb org/kaungmh/ontologies/2017/5/untitled-ontology-53~
3L
Active Ontology Entities Classes Object Properties Data Properties Annotation Properties Individuals^ OWLViz | DL Query OntoGraf SPARQL Query Ontology Differences
'•lis 1 «1
• BruneiCity ж
• ChinaCity
• CombodiaCity
• DiliCity
• GeorgiaCity
• IndaiCity
• IndonesiaCity
• IranCity
• JapanCity
• Ka/akhstanCity
• Kyrayzstan
• LaosCity
• MalaysiaCity
« MaldivesCity
• MongoliaCity
€ Myanmarcity
• NepalCity
• NorthKoreaCity
• PakistanCity
• philippines'sCity p
• RussiaCity
• SingaporeCity
• SouthKoreaCity
• SrMankaCity
• TajikistanCity
• ThilandCity
• Turkmenistan
• UibekistanCity
• VietnamCity
• Country
► Ш AsiaCountries
► • NonAsiaCountries
• State
EB
0 Show Inferences
Рис. 16. Поиск подклассов класса Страны Юго-Восточной Азии
В качестве еще одного примера мы можем найти все города стран Азии. Для этого в окно запросов необходимо написать (AsiaCountries or City) и на панели объектов выбрать "Individuals". Результат запроса отображен на рисунке 17.
File Edit View Reasoner Tools Refactor Window Help
| ^ | c£> | <S> untitled-ontology-53 (http /Vwww.semanticweb org/kaungmh/ontologies/2017/5;untitled-ontology-53)
| Active Ontology Entities Classes Object Properties Data Properties Annotation Properties Individuals | OWLViz | DL Query OntoGraf SPARQL Query Ontology Differences
HEU EI
■¡ШШ
• Thing Place *r- «Cfty ► •Country • State
Query (class expression)
AsiaCountries or City
I Execute | | Add to ontology |
Instances (70) IZI Super classes
• Indonesia О CD Ancestor classes
• Singapore □ Equivalent classes
• Combodia О □ Subclasses
• Bhutan О □ Descendant classes
♦ Kyrayzstan о 0 Individuals
• Malaysia о
♦ Moscow 0
• Tashkent 0
• Laos О
• Iran
• Japan
• Myanmar О
• Baku О
• Kathmandu о
• Pyongyang о
• NayPyiTaw о
• Vietnam о
• Nepal о -г
Рис. 17. Поиск по всем городам в странах Азии
Заключение
В ходе работы была создана онтология по предметной области «Страны Азии». В нее входят 50 классов и подклассов, 6 свойств объектов, 3 атрибутов класса и 84 экземпляров. Также составлено несколько БЬ-Оиегу запросов, показывающих работу онтологии. Данную онтологию в дальнейшем можно использовать как основу для создания электронной энциклопедии. Онтологию можно расширять, добавлять нерассмотренные разделы предметной области, добавлять новые связи между объектами и увеличить количество характеристик каждого экземпляра. БЬ-Оиегу запросы могут послужить программисту инструментом, с помощью которого он может извлечь любую интересующую его информацию.
Библиографический список
A Practical Guide To Building OW: Ontologies Using Protégé 4 and CO-ODE Tools: практический справочник / Matthew Horridge. The University of Munchester: 2009. 109 с.
Ontology Development 101: A Guide to creating Your First Ontology: практический справочник / Natalya F. Noy, Deborah L. McGuinness. Stanford University: 2001. 25 c.
Гаврилова Т.А. Формирование прикладных онтологий // Труды XX нац. конф. с междунар. участием по искусственному интеллекту - КИ-2006. Т. 2. М.: Физматлит, 2006.
Овдей О.М., Проскудина Г.Ю. Обзор инструментов инженерии онтологий // Журнал ЭБ. 2004. №4.
Онтологический инжиниринг знаний в системе Protégé: метод. пособие / Д.И. Муромцев. СПб:СПб ГУ ИТМО: 2007. 62 с.