Онтологическое моделирование ЧТО-знаний посредством ORM2-диаграмм и разрабатываемого Protege-плагина
Д.В. Литовкин, А.В. Аникин, О.А. Сычев
Волгоградский государственный технический университет, Волгоград
Аннотация: Для тиражирования знаний они должны быть представлены в явной форме, понятной как человеку, так и компьютеру. В работе предложен подход онтологического моделирования ЧТО-знаний, который позволяет представлять знания одновременно а) в виде визуальной модели (ОКМ2-диаграммы), понятной человеку, и б) OWL2-онтологии, понятной компьютеру. Для перехода от одной формы представления знаний к другой предлагается использовать онтологические паттерны. Для автоматизации этого подхода разрабатывается плагин для системы Protege. В работе дано функциональное и структурное описание плагина, приведены примеры его использования.
Ключевые слова: ЧТО-знания, представление знаний в явной форме, онтологическое моделирование, онтология, визуальная модель, промежуточная модель, онтологический паттерн, ORM2-диаграмма.
Введение
ЧТО-знания - это знания о некоторой предметной области, которые отвечают на следующие квалификационные вопросы (competency questions) [1]: "Что это?", "Какие бывают разновидности объекта?", "Из каких частей состоит объект?", "Что умеет делать объект?" и т.д. Одним из способов представления таких знаний является онтология. Как указано в [2], под онтологией понимается формальная спецификация понятий и отношений, которые характеризуют определенную область знаний. Преимуществом онтологий в качестве способа представления знаний является их формальная структура, которая упрощает их компьютерную обработку [3]. Чтобы онтология могла отвечать на указанные квалификационные вопросы, она должна обладать высокой степенью формализованное™, т.е. относиться к категории "полностью аксиоматизированная теория" или хотя бы "понятийная структура с произвольным набором отношений" [2].
Построение онтологии, удовлетворяющей критериям полноты, корректности, когнитивности [4] и высокой степени формализации, затруднительно для человека. Для облегчения этого процесса можно использовать следующие методы онтологического моделирования.
Первый метод моделирования - использование промежуточной визуальной модели [1, 5] - предполагает представление знаний эксперта в виде визуальной модели; оценку визуальной модели на полноту и корректность (как экспертом, так и с помощью метрик); совершенствование модели и ее отображение (mapping) в онтологию.
Второй метод моделирования - использование онтологических паттернов [6, 7, 8] - предполагает формулировку задачи моделирования в виде набора квалификационных вопросов; поиск онтологического паттерна, обеспечивающего ответы на предъявляемые квалификационные вопросы; и адаптацию онтологического паттерна к решаемой задачи моделирования.
Использование ОКМ2-диаграммы как промежуточной модели для онтологического моделирования ЧТО-знаний
Нами используется комбинация указанных методов моделирования -она предполагает представление знаний эксперта в виде визуальной модели; оценку визуальной модели на полноту и корректность; совершенствование модели и ее отображение в онтологию согласно онтологическим паттернам (правилам отображения), которые транслируют каждый элемент визуальной модели в высказывания для онтологии.
В [9] представлен подход онтологического моделирования с использованием ORM2-диаграммы (Object-Role Modeling) [10] в качестве
промежуточной модели и последующим отображением ее в OWL2-онтологию (Web Ontology Language) [11]. ORM2-диаграмма - это визуальная модель, которая порождается как результат объектно-ролевого моделирования (Object-Role Modeling) предметной области. Достоинствами ORM2-диаграммы являются ее большие выразительные возможности и использование подхода "свободных" атрибутов [12], что позволяет описывать больше ограничений, которые имеются в предметной области, например, ограничения уникальности, обязательности и сравнения для ролевых отношений, а также ограничения для отношения подтипа. На рис. 1 представлен пример ORM2-диаграммы, а на рис. 2 - словесное описание фактов, которые отражены на ней.
WoksFor/Employes
Рис. 1. - Пример ORM2-диаграммы
В [9] описаны онтологические паттерны (правила отображения) для представления фактов объектно-ролевого моделирования на языке OWL2. Примеры OWL2-паттернов показаны на рис. 3, а на рис. 4 представлен фрагмент 0"^Ь2-онтологии, созданный с помощью этих паттернов.
Иенерный вестник Дона, №12 (2020) I. ru/ru/magazine/arcliive/nl 2у2020/6714
1. Существуют Люди f Person ]. Мужчины f Male), Женщины f Female), Компании f Company 1 и Автомобили f Car ].
2. Существует Пол (Gender), который может быть только одним из возможных значений {Муж.; Жен.} ({М, F}).
3. Люди (Person), Компании (Company), Автомобили [ Саг) и Пол (Gender) несравнимы между собой.
4. Любой Человек (Person) это либо Мужчина (Male), либо Женщина (Female ], но не оба сразу.
8. Если Человек (Person) Связан с (AffiliatedWith) Компанией (Company). то этот Человек (Person) Работает на
9. Каждый Автомобиль [ Саг) Принадлежит (OwnedBy) либо Человеку (Person), либо Компании (Company), но
с. Один и тот же Автомобиль (Саг) не может Принадлежать (OwnedBy) Человеку (Person) и Компании (F Каждый Автомобиль (Саг ] должен Принадлежать (OwnedBy ] либо Человеку (Person), либо Компании
Рис. 2. - Вербализация фактов из ранее приведенной ORM2-диаграммы
Реализация онтологического моделирования посредством ORM2-диаграммы с использованием существующих инструментов
В настоящее время отсутствует программный инструментарий, позволяющий а) строить ORM2-диаграмму и отображать ее в OWL2-онтологию, и наоборот, б) на основе OWL2-онтологии строить визуальную модель в виде ORM2-диаграммы.
Мы с применением онтологических паттернов из [9] вручную построили OWL2-онтологию, описывающую знания, которые представлены на рис. 1-2, а затем отобразили ее с помощью известных инструментов OWLGrEd [13] и WebVOWL [14]. Как результат, получили визуальные модели, показанные на рис. 5-6.
ЕН=з=нЭ
Г.В 1
^ГП-(вЗ
<3 q"jivalen~Classes>
cclass iri="fr.B"/> < ЭЬ j е с ~ 3 ome Va 1 u е з F г от>
<ObjectProperty IRI="#r.В"/> <Class IRI = 1|#B"/> </Ob; ес."3cmeVa 1 "jesFrom> <: /1 j i v a 1 e n ~ Z1 a s s e s >
<3 q"jivalen:;Classes>
<Class iri="#r.B_l"/>
< 3bj e с ~ 3 cme Va1иe sF rom>
<ObjectProperty iri="#r.B_l"/> <Class iri=,,tB_l"/>
< / Ob j e с. ~ S ome Va 1 и e s F r om> <; /1 q".J i v а. 1 e n ~ С1 a s s e s >
<F q"jivalen~Classes>
cclass ir::="#e .b_2"/>
< Ob j e с ~ 3 cme Va 1 и e s F r ст>
<Objec"Froper-y iri="fr.B_2"/> <Class iri="#b_2"/> </' Ob j e с ~ 3 ome Va 1 и e s F r cm> <: /1 q".j i v a 1 e n ~ Z1 a s s e s >
<1 q"jivalen~Classes> cclass iRi="fA™/> <Ob; ec.-UnioriGf >
<Class iri="fr.B_l,,/> cclass iri="#r.B_2"/> </0bjec~Union0f> < z /1 q".J i v a. 1 e n ~ С1 a s s e s >
Рис. 3. - 0"^Ь2-патерны для представления ограничения обязательности применительно к ролевым отношениям ORM2-диаграммы
Полученные визуальные модели отличаются от ORM2-диаграммы, показанной на рис. 1, по следующим причинам.
Во-первых, для того, чтобы OWL2-онтология могла отвечать на квалификационные вопросы, сформулированные выше, онтологические паттерны добавляют в нее "технологические" сущности и отношения, которые не являются частью предметной области. Например, в построенной нами онтологии (см. рис 4), создан класс "OwnedByP.Person", который моделирует ограничение "обязательности" (mandatory) для отношения "OwndedBy". Универсальные инструменты визуализации OWL2-онтологий (OWLGrEd и WebVOWL) интерпретируют этот класс как сущность предметной области, а не как ограничение на отношение.
CDeclaration> CEquivalentClasses>
CClass IRI="#Person"/> CClass IRI="#OwnedEyC . Company"/>
C/Declaration> CObj ect 5omeValuesFroni>
<Declaration> CObjectProperty IRI="#OwnedByC"/>
CClass IRI="#Car"/> CClass IRI="#Company"/>
C/Declaration> С/Ob j e с15 orneVa1ue s F rom>
CDeclaration> C/EquivalentClasses>
CClass I?:="#Company"/>
C/Beclaration> CEquivalentClasses>
CClass IRI="#OwnedByP.Person"/>
<Declarat ion> CObj ect SomeValuesFrom>
Object Property I?I = "# OwnedBуС"/> CObjectProperty IRI="#OwnedByP"/>
</De clara" ion> CClass IRI="#Per son"/>
CDeclaration> C/Obj ectSomeValuesFrom>
CObj ectProperty I?I = "#OwnedByP"/> C/EquivalentClasses>
C/Declaration>
CEquivalentClasses>
<Declaration> CClass IRI="#Car"/>
CClass I?.: = "#OwnedByC. Company"/> CObj ectUnionOf>
C/Declaration> CClass :RI="#OwnedByC.Company"/>
CDeclarat ion> CClass :RI="#OwnedEyP.Person"/>
CClass IP.I = "#OwnedByP . Person"/> С/Obj ectUnionOf>
С/De clara" ion> C/EquivalentClasses>
Рис. 4. - Фрагмент OWL2-онтологии, представляющий некоторые факты из
ранее приведенной ORM2-диаграммы
Во-вторых, инструменты визуализации умеют отображать только часть высказываний из OWL2-онтологии.
Поэтому актуальной задачей является создание инструмента, позволяющего а) строить ORM2-диаграмму и отображать ее в OWL2-онтологию с помощью онтологических паттернов (правил отображения), и б) распознавать в OWL2-онтологии экземпляры паттернов и визуализировать их в виде ORM2-диаграммы.
Функциональные требования к Protege-плагину
Нами решено создавать плагин к существующему редактору онтологий Protege [15], а не создавать автономное решение. Это обусловлено следующими причинами - онтологический редактор Protege:
Рис. 5. - Визуальное представление OWL2-онтологии (содержащей ЧТО-знания), полученное посредством OWLGrEd
Рис. 6. - Визуальное представление OWL2-онтологии (содержащей ЧТО-знания), полученное посредством WebVOWL
• хорошо поддерживается, является бесплатным и потому широко используется для создания небольших и локально хранимых OWL2-онтологий;
• умеет сохранять и загружать OWL2-онтологии в различных нотациях (манчестерский синтаксис, функциональный синтаксис, синтаксис OWL/XML, синтаксис RDF/XML и т.д.);
• позволяет выводить новые знания, используя различные машины вывода;
• позволяет находить семантические ошибки, используя различные машины вывода;
• позволяет делать SparQL-запросы к OWL2-онтологии.
На рис. 7 приведена функциональная структура разрабатываемого плагина. Плагин должен обеспечивать а) создание и редактирование ЧТО-знаний посредством построения ОКМ2-диаграммы и отображения ее в OWL2-онтологию и б) визуализировать ЧТО-знания в виде ORM2-диаграммы, извлекая экземпляры онтологических паттернов из OWL2-онтологии. Часть функций (на рис. 7 они выделены желтым цветом) уже реализует сам редактор онтологий Protege, остальные плагин должен реализовывать самостоятельно.
Структура Protege-плигина на уровне компонентов
На рис. 8 представлена структура Protege-расширения на уровне компонентов. Компонент ORM2_Diagram_Model реализует объектно-ориентированное представление ORM2-диаграммы в памяти компьютера и инкапсулирует правила построения ORM2-диаграммы как графа.
Рис. 7. - Функциональная структура разрабатываемого Protege-плагина
Компонент Visual_Library - это библиотека mxGraph, которая позволяет в интерактивном режиме строить графы произвольного вида. Нами используется версия этой библиотеки, которая адаптирована для работы со стандартной библиотекой Java Swing Library.
Компонент ORM2_Diagram_Visual_Library обеспечивает
интерактивное создание и редактирование ORM2-диаграммы как графа. Для реализации своей функциональности он использует возможности компонентов ORM2_Diagram_Model и Visual_Library.
Компонент ORM2-OWL2_Mapper предназначен для отображения ORM2-диаграммы в OWL2-онтологию и наоборот.
компонентов
Такая структура Protege-расширения позволяет:
• минимизировать зацепление между компонентами - каждый компонент связан не более, чем с двумя другими компонентами, т.е. структура является многослойной;
• правила построения ORM2-диаграммы, правила визуализации ее элементов и правила отображения ORM2-диаграммы в OWL2-онтологию (и наоборот) инкапсулированы в отдельных компонентах. Это позволяет изменять группы правил независимо друг от друга.
Реализация Protege-плигина
На настоящее время реализована визуальная составляющая плагина, позволяющая строить ORM2-диаграмму из базовых элементов (которые используются на начальных этапах объектно-ролевого моделирования). На рис. 9 показан пример ORM2-диаграммы, построенный в плагине, а на рис. 10 - пример валидации построения диаграммы.
плагина
ORM2 Editor
Ш 1 О '° - X ^
/ S Person 1 ^
Message
7 ' N Male ^T^ You cannot connect two E ntityTypes with Role Aossociation m
Рис. 10. - Пример обнаружения ошибочного соединения двух сущностей
простой связью
Работа будет продолжена в двух направлениях. Во-первых, будет реализована функция отображения ORM2-диаграммы в OWL2-онтологию и наоборот, используя онтологические паттерны из [9]. Во-вторых, планируется реализовать ограничения для отношений подтипа и ролевых отношений.
Работа выполнена при финансовой поддержке РФФИ, проекты 18-0700032 и 20-07-00764.
Литература
1. Гаврилова Т.А., Кудрявцев Д.В., Лещева И.А., Павлов Я.Ю. Об одном методе классификации визуальных моделей // Анализ данных и интеллектуальные системы. 2013. №4(26). С. 21-34.
2. Константинова Н.С., Митрофанова О.А. Онтологии как системы хранения знаний. СПб.: Санкт-Петербургский государственный университет, 2009. 54 с.
3. Цвелик Е.А. Метод построения иерархии критериев на основе онтологического анализа системы // Инженерный вестник Дона, 2013, №4 URL: ivdon.ru/ru/magazine/archive/n4y2013/1971.
4. Мохов В.А., Сильнягин Н.Н. Интегрированный алгоритм когнитивной оценки и выбора оптимального варианта онтологической модели // Инженерный вестник Дона, 2014, №11 URL: ivdon.ru/ru/magazine/archive/n4y2011/600.
5. Артемова Г.О., Гусарова Н.Ф., Коцюба И.Ю. Автоматизация поддержки принятия решений при разработке онтологий в сфере образования на основе промежуточных моделей // Открытое образование. 2015. №5. C.4-10.
6. Ломов П.А. Применение паттернов онтологического проектирования для создания и использования онтологий в рамках интегрированного пространства знаний // Онтология проектирования. 2015. Том 5. N2(16). С.233-245.
7. Zagorulko Yury, Borovikova Olesya, and Zagorulko Galina Development of Ontologies of Scientific Subject Domains Using Ontology Design Patterns // DAMDID/RCDL 2017: Data Analytics and Management in Data Intensive Domains. Communications in Computer and Information Science. 2018. Том 822. С.141-156. URL: doi.org/10.1007/978-3-319-96553-6_11.
8. Litovkin D.V., Anikin A.V., Kultsova M.B., Sarkisova E.A. Representation of WHAT-Knowledge Structures as Ontology Design Patterns // 2018 9th International Conference on Information, Intelligence, Systems and Applications (IISA). 2018. URL: //doi.org/10.1109/IISA.2018.8633701.
9. Hodrob Rami, Jarrar Mustafa. Mapping ORM into OWL 2 // Proceedings of the International Conference on Intelligent Semantic Web - Applications and Services. 2010. C.68-73.
10. Halpin, T. Object-Role Modeling Fundamentals: A Practical Guide to Data Modeling with ORM. Technics Publications. 2015. 180 c.
11. OWL 2 Web Ontology Language Primer // URL: w3.org/TR/owl2-primer/.
12. Halpin, T. Metaschemas for ER, ORM and UML data models // Journal of Database Management 2002. N13(2). C. 20-30. URL: doi.org/10.4018/jdm.2002040102.
13. Bärzdins Jänis, Bärzdins Guntis, Ceräns Kärlis, Liepins Renärs, and Sprogis Artürs UML Style Graphical Notation and Editor for OWL 2 // Perspectives in Business Informatics Research. 9th International Conference, BIR 2010 Rostock, Germany, September 29-October 1, 2010. Proceedings. 2010. C.102-114.
14. VOWL: Visual notation for OWL ontologies. URL: vowl.visualdataweb.org/v2/.
15. Protégé: A feature rich ontology-editing environment with full support for the OWL 2. URL: protege.stanford.edu/products.php.
References
1. Gavrilova T.A., Kudryavcev D.V., Lesheva I.A., Pavlov Ya.Yu. Analiz dannykh i intellektual'nye sistemy. 2013. №4(26). pp. 21-34.
2. Konstantinova N.S., Mitrofanova O.A. Ontologii kak sistemy khraneniya znanii. SPb.: Sankt-Peterburgskiy gosudarstvennyi universitet, 2009. 54 p.
3. Cvelik E.A. p Inzhenernyi vestnik Dona, 2013, №4 URL: ivdon.ru/ru/magazine/archive/n4y2013/1971.
4. Mokhov V.A., Sil'nyagin N.N. Inzhenernyi vestnik Dona, 2014, №11 URL: ivdon.ru/ru/magazine/archive/n4y2011/600.
5. Artemova G.O., Gusarova N.F., Kozyuba I.Yu. Otkrytoe obrazovanie. 2015. №5. pp.4-10.
6. Lomov P.A. Ontologiya proektirovaniya. 2015. Vol. 5. N2 (16), pp.233245.
7. Zagorulko Yury, Borovikova Olesya, and Zagorulko Galina DAMDID/RCDL 2017: Data Analytics and Management in Data Intensive Domains. Communications in Computer and Information Science. 2018. Vol. 822. P.141-156. URL: doi.org/10.1007/978-3-319-96553-6_11.
8. Litovkin D.V., Anikin A.V., Kultsova M.B., Sarkisova E.A. 2018 9th International Conference on Information, Intelligence, Systems and Applications (IISA). 2018. URL: doi.org/10.1109/IISA.2018.8633701.
9. Hodrob Rami, Jarrar Mustafa. Proceedings of the International Conference on Intelligent Semantic Web - Applications and Services. 2010. P.68-73.
10. Halpin, T. Object-Role Modeling Fundamentals: A Practical Guide to Data Modeling with ORM. Technics Publications. 2015. 180 p.
11. OWL 2 Web Ontology Language Primer. URL: w3.org/TR/owl2-primer/.
12. Halpin, T. Journal of Database Management 2002. N13 (2). pp.20-30. URL: doi.org/10.4018/jdm.2002040102.
13. Bärzdins Jänis, Bärzdins Guntis, Ceräns Kärlis, Liepins Renärs, and Sprogis Artürs Perspectives in Business Informatics Research. 9th International Conference, BIR 2010 Rostock, Germany, September 29-October 1, 2010. Proceedings. 2010. pp.102-114.
14. VOWL: Visual notation for OWL ontologies. URL: vowl.visualdataweb. org/v2/.
15. Protégé: A feature rich ontology-editing environment with full support for the OWL 2. URL: protege.stanford.edu/products.php.