22
1 «Анализ и сравнение работы различных Reasoner'ов в Protégé» Морозов Илья, гр. 53504/11, [email protected] Елизавета Белокопытова, гр. 53504/10, [email protected] Reasoner одно из самых мощных особенностей, предоставляемых Prot ég é OWL DL. Одна из основных услуг, предлагаемых реазонером — тестирования иерархии классов. Еще одна стандартная функция, которая выполняется реазонером, это проверка согласованности. В этом проекте описываются и сравниваются наиболее популярные реазонеры для классификации онтологии, такие как Pellet, RACER, FACT++, Snorocket, HermiT, CEL, ELK, SWRL-IQ и TrOWL. Reasoner is one of the most powerful features provided by Protégé OWL DL. Reasoner's major service is a class hierarchy testing. Consistency checker is another Reasoner's important function. In this project the most popular Reasoner’s for ontology classifying are described and compared, such as Pellet, RACER, FACT++, Snorocket, HermiT, CEL, ELK, SWRL-IQ и TrOWL.

Анализ и сравнение работы различных Reasoner'ов в Protégé

Embed Size (px)

Citation preview

1

«Анализ и сравнение работы различных Reasoner'ов в Protégé»

Морозов Илья, гр. 53504/11, [email protected]

Елизавета Белокопытова, гр. 53504/10, [email protected]

Reasoner – одно из самых мощных особенностей, предоставляемых Protégé OWL DL. Одна из основных услуг,

предлагаемых реазонером — тестирования иерархии классов. Еще одна стандартная функция, которая выполняется реазонером, это проверка согласованности. В этом проекте описываются и сравниваются наиболее

популярные реазонеры для классификации онтологии, такие как Pellet, RACER, FACT++, Snorocket, HermiT,

CEL, ELK, SWRL-IQ и TrOWL.

Reasoner is one of the most powerful features provided by Protégé OWL DL. Reasoner's major service is a class

hierarchy testing. Consistency checker is another Reasoner's important function. In this project the most popular Reasoner’s for ontology classifying are described and compared, such as Pellet, RACER, FACT++, Snorocket, HermiT,

CEL, ELK, SWRL-IQ и TrOWL.

2

Оглавление Введение .................................................................................................................................................... 4

1. Общая информация об исследуемой области ..................................................................................... 4

1.1 Определения ..................................................................................................................................... 4

1.2. Описание системы ........................................................................................................................... 5

1.2.1 Индивиды(Individuals). ........................................................................................................ 5

1.2.2 Свойства(Properties). ............................................................................................................ 5

1.2.3. Классы(Classes).................................................................................................................... 6

1.3 Использование Reasoner-ов .............................................................................................................. 6

1.4.1. Функциональные (однозначные свойства или индивидуальные особенности ........................... 7

индивида). Для данного индивида может существовать не более одного индивида, который имеет

отношение к первому индивиду через это свойство. .......................................................................... 7

1.4.2. Обратные функциональные свойства. ....................................................................................... 7

1.4.3. Транзитивные свойства. ............................................................................................................ 7

1.4.4. Симметричные свойства............................................................................................................ 7

1.4.5. Асимметричные свойства. ......................................................................................................... 7

1.5.Ограничения свойств........................................................................................................................ 7

1.5.1.Экзистенциальные ограничения. ................................................................................................ 7

1.5.2.Универсальные ограничения. ..................................................................................................... 7

1.6. Работа с Реазонером ........................................................................................................................ 7

2. История формирования реазонеров .................................................................................................... 9

2.1 Развитие реазонеров в настоящее время ........................................................................................... 9

2.1.1. Pellet Reasoner .......................................................................................................................... 9

2.1.2. RACER. ................................................................................................................................... 10

2.1.3. FACT++. .................................................................................................................................. 11

2.1.4. SnoRocket. ............................................................................................................................... 11

2.1.5. SWRL-IQ. ................................................................................................................................ 11

2.1.6. ELK. ........................................................................................................................................ 11

2.1.7. Hermit. ..................................................................................................................................... 12

2.1.8. CEL. ........................................................................................................................................ 12

2.1.9. TrOWL. ................................................................................................................................... 12

3. Практическая часть .............................................................................................................................. 13

3.1. Характеристики для сравнения реазонеров ................................................................................... 13

3.1.1. Методология. .......................................................................................................................... 13

3.1.2. Родной профиль. ..................................................................................................................... 13

3.1.3. Платформа............................................................................................................................... 13

3.1.4. OWL API. ................................................................................................................................ 13

3

3.1.5. Язык программирования. ........................................................................................................ 13

3.1.6. Доступность. ........................................................................................................................... 13

3.1.7. Поддержка выразительности Reasoner-а.................................................................................. 13

3.1.8. v. protégé.................................................................................................................................. 13

3.2. Таблица сравнений различных реазонеров по характеристикам .................................................... 13

3.3. Онтология Reasoner. ...................................................................................................................... 14

3.4. Результаты работы......................................................................................................................... 20

4. Выводы исследования. ........................................................................................................................ 21

Список литературы .................................................................................................................................. 22

4

Введение

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

становится настолько велико, а их структура представления сложна, из-за чего возникает проблема их обработки и анализа. Например, в моделировании бизнес процессов или создании искусственного интеллекта, количество объектов знаний может исчислять десятками тысяч.

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

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

использоваться экспертами по предметным областям для совместного использования и

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

веб-сайты (как на сайте Yahoo!), до категоризации продаваемых товаров и их характеристик (как на сайте Amazon.com). Почему возникает потребность в разработке онтологии? Вот некоторые причины:

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

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

Для анализа знаний в предметной области. Для проблемы хранения и структуризации больших объемов знаний для онтологий существ

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

В данной работе рассматриваются основные инструменты реазонеров в среде составления онтологий Protégé. Проект был выполнен на независимой расширяемой среде Protégé 4.3.

1. Общая информация об исследуемой области

1.1 Определения

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

которые существуют между этими понятиями. Такое представление информации позволяет компьютеру и человеку использовать ее эффективнее.

Существует множество языков представления знаний, приложений для формирования

онтологий и реазонеров. Из огромного множества языков описаний онтологий, OWL является самым популярным. OWL- это язык для формирования онтологий, разработанный для

Семантических сетей и рекомендованный W3C. OWL обладает влиянием от множества источников, но главное, что его средства

представления основаны на Дескрипционной логике. OWL2, разработанный 2007 году,

направлен на решение некоторых вопросов и так же рекомендован W3C с 2009 года. В OWL2 существует 3 рабочих профиля, которые называются OWL 2 EL, OWL 2 QL и OWL 2 RL. Эти

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

- OWL EL, предназначенный для использования в приложениях с большим количеством

свойств и классов. На EL-онтологиях основные алгоритмы логического вывода гарантированно завершаются за полиномиальное время.

5

- OWL QL, особенно полезный для онтологий, содержащих множество индивидов. В

этом профиле основной акцент приходится на обеспечение высокой скорости запросов к данным - они отрабатывают за логарифмическое время. - OWL RL, предназначен для запуска алгоритмов, основанных на языках правил.

Включает отличный от EL набор средств и позиционируется как язык, позволяющий повысить выразительность существующих RDFS-онтологий.

Рис.1. W3C стандарт для семантических моделей

Reasoner – это часть программного обеспечения, которая показывает логические выводы из набора фактов или аксиом, а так же предоставляет возможность автоматической поддержки таких задач как: классификация, отладка, запросы.

Существует огромное количество Reasoner-ов, которые поддерживаются Protégé, к таким относятся: Pellet, RACER, FACT++, Hermit, CEL, ELK и т.д. Эти реазонеры имеют различные

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

1.2. Описание системы

Онтологии OWL состоят из отдельных компонентов, таких как индивиды ,классы, свойства объекта.

1.2.1 Индивиды(Individuals). Представляют собой конкретные объекты интересующей предметной области. Важным различием между Protege и OWL является то, что в OWL не

используется предположение об уникальности имен (Unique Name Assumption - UNA). Это означает, что два разных имени могут фактически ссылаться на один и тот же индивид. В OWL два индивида могут обозначать один и тот же объект предметной области если явно не указано

обратное. 1.2.2 Свойства(Properties). Это бинарные отношения на индивидах. Другими словами,

свойства соединяют двух индивидов.

6

1.2.3. Классы(Classes). Это множества, элементами которых являются индивиды. Они

описываются, используя формальные (математические) конструкции, которые декларируют

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

вида «подкласс-суперкласс», которая также известна как таксономия. Подклассы являются

подмножествами своего суперкласса. Одна из главных особенностей OWL-DL - то, что эти

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

автоматически при помощи Reasoner-а. В OWL классам создаются описания, которые

определяют условия, которым должен удовлетворять индивид для того, чтобы быть членом

класса.

1.3 Использование Reasoner-ов

Использование Reasoner-ов для автоматического вычисления иерархии классов является

одним из основных преимуществ построения онтологии с использованием языка OWL DL. При

строительстве очень больших онтологий (свыше нескольких тысяч классов) без реазонера

очень трудно обслуживать большие, сложные онтологии, и хранить в корректном, надлежащем

виде.

Что же умеют делать реазонеры:

Проводить классификацию и показывать иерархию выводимых классов

Проверять согласованность, показывать несоответствия

Определять типа индивида — принадлежность к определённому классу

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

Классы в объявленной иерархии (иерархии построенной вручную) имеют не более одного

суперкласса (в дереве вывода class hierarchy), но на самом деле, в онтологиях у многих классов

имеется несколько суперклассов. сводит к минимуму человеческие ошибки, которые присущи в

поддержании нескольких наследуемых иерархий .

В OWL реазонеры работают на основе концепции OWR – “Open World Reasoning”.

Open World Reasoning – буквально: «рассуждения об открытости мира» - в OWL DL

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

мира (open world assumption), что принципиально отличает их от баз данных, основанных на

предположение о замкнутости мира (closed world assumption). По сути это означает неполноту

знаний по отношению к фактам, которые можно вывести на их основе путем логических

рассуждений. Т.е. построение полной классификации по описаниям отдельных классов,

которые казалось бы, не дают полного описания онтологии.

Это можно понимать так: если «что-то» не было сказано, для того чтобы быть фактом,

нельзя предположить его ложным — предполагается, что «знания просто не было добавлено к

базе знаний».

Создание явных допущений в предметной области, лежащих в основе реализации, дает

возможность легко изменить эти допущения при изменении наших знаний о предметной

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

тому, что эти предположения не только сложно найти и понять, но и также сложно изменить,

особенно непрограммисту.

Без понимания принципов построения онтологий, работа реазонера может казаться

незаметной. Поэтому рассмотрим возможности построения онтологий в среде Protégé

подробнее.

1.4. Свойства в OWL

7

Свойства в OWL представляют отношения. Существует два основных типа свойств:

свойства объектов и свойства типа данных (DataType). Как уже было сказано, свойства

объектов связывают индивидов, а не классы. Поэтому общая классификация может быть не

интуитивной.

Типы свойств:

1.4.1. Функциональные (однозначные свойства или индивидуальные особенности

индивида). Для данного индивида может существовать не более одного индивида, который

имеет отношение к первому индивиду через это свойство.

1.4.2. Обратные функциональные свойства. Если свойство является обратным

функциональному свойству, то это значит, что свойство является обратным функциональным.

1.4.3. Транзитивные свойства. Если свойство транзитивное и свойство связывает

индивида a и индивида b, а также индивида b связывает с индивидом c, то мы можем вывести,

что этот индивид а связан с индивидом c через это свойство.

1.4.4. Симметричные свойства. Если свойство p симметричное, и свойство связывает

индивида а с индивидом b, то индивид b связан также с индивидом а через свойство р.

1.4.5. Асимметричные свойства. Если свойство p асимметричное, и свойство связывает

индивида а с индивидом b, то индивид b не может быть связан с индивидом a через свойство p.

Свойства могут иметь домен и диапазон (свойства связывают индивидов из доменов с

индивидами в диапазонах). Хотя мы установили домены и диапазоны различных свойств для

целей данного учебного курса, мы обычно не советуем делать это. Тот факт, что домен и

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

«неожиданные» классификации результатов, привносят проблемы и неожиданные побочные

эффекты. Эти проблемы и побочные эффекты особенно трудно отслеживаются в большой

онтологии.

1.5.Ограничения свойств

Ограничения описывают класс индивидов, основанный на отношении, по которому

индивиды становятся членами класса.

1.5.1.Экзистенциальные ограничения. Эти ограничения описывают классы индивидов,

которые участвуют в по крайней мере в одном отношении по указанному свойству для

отдельных индивидов, которые являются членами указанного класса. В Protege 4 ключевое

слово «some - некоторые» используется для обозначения экзистенциальных ограничений.

1.5.2.Универсальные ограничения. Эти ограничения описывают классы индивидов, имеющих

«только - only» данное отношение к отдельным индивидам, которые являются членами

конкретного класса.

1.6. Работа с Реазонером

Как только будут инициализированы классы, индивиды и свойства в Protégé, вы можете

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

нажать на кнопку Start из вкладки Reasoner в главном меню.

В Protégé 4.3 могут быть подключены OWL-реазонеры Fact++ и HermiT 1.3.6 которые

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

самостоятельно, но об этом позже. В Protégé иерархия вручную построенных классов

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

реазонером, называется выводимой иерархией. Настройка функций реазонера осуществляется

на панели рис. 2.

8

Рис. 2. Настройка параметров Reasoner-а

9

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

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

2. История формирования реазонеров

В настоящее время существует огромное количество реазонеров, однако зарождение их

началось в период с 1975 года по 2009 год [Mishra and Kumar, 2010]. Авторы разделили

существующие реазонеры по четырем признакам:

Поддержка интерфейса

Вид алгоритма и завершенность

Язык разработки

Поддержка языков разработки Семантических сетей

Существует, по меньшей мере, девятнадцать Reasoner-ов. Среди них, так же выделяются

самые популярные, которые доступны для установки в Protégé, а именно: Pellet, RACER,

FACT++, Snorocket, HermiT, CEL, ELK, SWRL-IQ и TrOWL.

2.1 Развитие реазонеров в настоящее время

2.1.1. Pellet Reasoner. Pellet является свободно распространяемым OWL-DL реазонером,

реализованный на Java. Создатели, The Mind Swag Group, в основу данного реазонера положили

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

Reasoner, который поддерживает все OWL DL SHOIN и был расширен до OWL2[10]. Это

позволяет отображать онтологии так же как и при помощи OWL- API интерфейс. Так же

присутствует поддержка объяснения ошибок.

Рис. 3. Демонстрация работы Reasoner-a Hermit 1.3.6

10

На рис. 4 показаны основные элементы Pellet Реазонера.

2.1.2. RACER. Renamed ABoxes and Concept Expression Reasoner – это один из популярных

реазонеров, который был разработан Яном Хорроксом. RACER, так же известный как RacerPro

является первым в истории Reasner-ом. Поддержка оптимизационных технологий FACT, а так

же поддержка новых методов для работы с численным ограничением и ABoxes. Racer реализует

TBOX и ABOX реазонеры для Дескрипционной логики SHIQ. На рис.5. изображена

архитектура RacerPro.

Рис. 5. Архитектура RacerPro

Рис. 4. Элементы Pellet Reasoner-a

11

2.1.3. FACT++. Ян Хоррокс, так же, представил такой Reasoner известные под названием

FACT++. Данный блок рассуждений может быть использован как классификатор

Дескрипционной логики и тестирование достижимости модальной логики. Система FACT

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

выпущенных обновлений FaCT преобразовался в FaCT++. Отличие между ними заключается во

внутренней структуре, которая написана на C++. Первая версия FaCT++ поддерживала только

SHOIQ, OWL-DL. Однако, в последних версиях появилась поддержка OWL целиком и за

основу взята Дескрипционной логика SROIQ.

2.1.4. SnoRocket. SnoRocket представляет собой высокопроизводительный полиномиальный

алгоритм классификации для Дескрипционной логики EL +. Реализована данный алгоритм на

языке Java. Разработана как часть «CSIRO’s Health Informatics» и «Clinical Terminologies

research program».

2.1.5. SWRL-IQ. Расшифровывается как Semantic Web Rule Language Inference and Query tool, и

является плагином для Protégé 3.5, который позволяет пользователю изменять, сохранять,

записывать запросы и передавать их к базовому механизму логического вывода, основанному

на XSB Prolog. На рис.6. показана архитектура SWRL-IQ

2.1.6. ELK. ELK свободно распространяемый Reasoner для языка онтологий OWL 2 EL. ELK

реазонер написан на JAVA языке и контролируется при помощи OWL API. Доступен же, только

под Apache License 2.0. Кроссплатформенность осуществляется за счет поддержки Java 1.5 или

выше. На рис. 7. показаны основные модули ELK и информационный поток во время

классификации.

Рис. 6. Архитектура SWRL-IQ

12

2.1.7. Hermit. Hermit - это первый общедоступный OWL реазонер, который написан при

помощи OWL API. С его помощью можно проверить правильность составления онтологий в

OWL файлах и составить иерархическую структуру классов. Вычисления строятся при помощи

гипертабличного исчисления[Horrocks Ian, Motik Boris, 2009]. Это так же ускоряет процесс

классификации онтологий.

2.1.8. CEL. Данный реазонер был создан на интерпретируемом языке программирования LISP.

Обладая простым интерфейсом в виде командной строки, CEL предоставляет пользователям

все необходимые функции, включая простые интерактивные команды помощи. В основу

реазонера лег усовершенствованный алгоритм полиномиальной классификации.

На рис.8. показана архитектура CEL реазонера.

Рис. 8. Архитектура CEL Reasoner

2.1.9. TrOWL. TrOWL является общим интерфейсом для ряда Reasoner-ов , которые

разработаны в университете Абердина. Выделяют два основных вида : TrOWL Quill и TrOWL

REL. Quill предоставляет связь со службами OWL 2 QL. TrOWL REL это свое рода,

оптимизированный CEL алгоритм, который обеспечивает связь с OWL 2 EL. Для поддержки

полного OWL DL, TrOWL использует другие Реазонеры, такие как FACT++, Pellet, Hermit,

RacerPro и т.д.

Рис. 7. Структура ELK и информационный поток

13

3. Практическая часть

3.1. Характеристики для сравнения реазонеров

3.1.1. Методология. У каждого существующего реазонера есть определенный алгоритм или

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

методологиям относятся Tableau-based, Tableaux-based, Completion rules, SWRL rules,

Hypertableau-based, Consequence based методики.

3.1.2. Родной профиль. Эта характеристика показывает к какому типу OWL относится данный

Реазонер. OWL DL или OWL EL, OWL QL, OWL RL.

3.1.3. Платформа. Характеристика поддержки различных платформ, а именно: Windows, Linux.

3.1.4. OWL API. Булевая характеристика, обозначающая наличие или отсутствие поддержки

OWL API у реазонера.

3.1.5. Язык программирования. Одна из ключевых характеристик, которая показывает на

каком языке программирования был написан Reasoner. К примеру: Java, C++, Prolog, LISP, и др.

3.1.6. Доступность. Данная характеристика показывает, является ли реазонер платным или

бесплатным.

3.1.7. Поддержка выразительности Reasoner-а. Характеристика, которая введена для

определения методики выразительности Reasoner-a.

3.1.8. v. protégé. Показывает, с какими версиями Protégé совместима данная версия Реазонера.

3.2. Таблица сравнений различных реазонеров по характеристикам

Сравнение реазонеров по характеристикам. Табл. 1.

Версия

Методология

Родной профил

ь

Платформа

OWL

API

Язык прог

р.

Доступность

Выразит. v. protégé

Pellet 1.x Tableau based

DL All Yes Java Open source

SROIQ(D)

3.x,4.x

2.x DL,EL Yes - RacerPro 1.1.10 Tableaux

based DL All Yes LISP Commercia

l SROIQ(

D-) 4.1,4.2

Fact++ - Tableau based

DL All Yes C++ Open source

SROIQ(D)

4.x

SnoRocket

1.3.4 Completion rules

EL All Yes Java Commercial

- 4.0,4.1 1.3.1 All 4.0

1.3.0 Linux 4.0

Hermit 1.3.6 Hypertableau based

DL All

Yes Java Open source

SHOIQ+ 4.2 1.3.5 4.2

1.2.2 4.1 1.2.1 4.1

CEL 1.0 Completion rules

EL Linux Yes LISP Open source

- 4.x

ELK 0.3.0 Consequence based

EL All Yes Java Open source

- 4.1,4.2

0.2.0 4.1 0.1.0 4.2

SWRL-IQ

1.1b SWRL rules

- All Yes Prolog

Open source /

Commercial

- 3.5 1.1 3.4

1.0 3.4

TrOWL - Completion rules

DL,EL All Yes Java Commercial

- 4.0.x,4.1.x

14

3.3. Онтология Reasoner.

Для того чтобы качественно оценить работу того или иного Reasoner-а, нам было необходимо

создать онтологию и самостоятельно произвести классификацию при помощи Реазонеров. В

нашем случае, мы взяли Pellet, Hermit, Fact++.

Как видно из рис.9. мы создали новую онтологию, назвали ее Reasoner. Для того чтобы

продолжить создание, необходимо перейти по вкладке Classes.

Рис. 9. Начало работы с Protege

15

На Рис.10. мы сформировали классы: Availability, ImplementLanguage, Methodology,

NativeProfile, Platforms, Reasoners. Каждый класс содержит в себе соответственно субкласс.

После формирования всего списка классов, перейдем во вкладку «Object Properties».

Рис. 10. Формирование классов

16

На рис.11. мы оформляем свойства нашей онтологии. Нам необходимо было создать свойства

описывающие взаимосвязь нашего класса Reasoners и остальных классов. Далее вернемся на

вкладку Classes.

Рис. 11. Свойства объектов

17

На рис.12. показываем, как для каждого субкласса класса Reasoners, мы назначаем

экзистенциальные и универсальные ограничения. К примеру первая строчка, которая выделена

на рис.12. показывает что Reasoner CEL имеет определенное свойство OpenSource. Так же

составлялись все остальные взаимосвязи для каждого Reasoner-a.

Рис. 12. Оформление экзистенциальных и универсальных ограничений

18

Рис. 13. Отображение Иерархии классов для Reasoners при помощи Pellet Reasoner

Рис. 14. Отображение Иерархии классов без участия Pellet Reasoner

19

На рис.15 мы можем увидеть некоторый результат работы Protégé, а именно плагина OntoGraf.

Для экономии места, мы вывели всего три Reasoner-а. Как видно на изображение, реазонер

FACT++ имеет свойство JAVA, OpenSource,TableauBased,ALLplatforms, OWL 2 DL. Это как раз

те характеристики, которые мы указывали в таблице 1. Если посмотреть остальные Reasoners,

они так же будут соответствовать всем взаимосвязям из таблицы 1.

Рис. 15. Пример работы OntoGraf

20

3.4. Результаты работы

Производительность работы Reasoner-овТабл.2.

Pellet Hermit FACT++

1 54 ms 227 ms 50 ms

2 72 ms 249 ms 37 ms

3 67 ms 87 ms 68 ms

Итого: 64 ms 188 ms 52 ms

После того как мы запустили установленные в программе Protégé Reasoner-ы, мы при помощи

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

производился 9-ть раз, по три раза на каждый Реазонер, для усреднения показателей.

По полученной информации мы можем судить о том, какой Реазонер больше подходит(по

временным рамкам) для нашего случая.

Так же, стоит обратить внимание, что Reasoner-ы Pellet и FACT++ имеют один и тот же

алгоритм реализации, в отличие от Hermit. Это могло повлиять на их конечное время

исполнения.

Рис. 16. Результат работы Реазонеров

21

4. Выводы исследования.

В результате проведенной работы, нам удалось выделить основные характеристики

Reasoner-ов, на основе которых можно производить качественную оценку различий. Нам

удалось установить, что все Reasoner-ы имеют различную структуру. Такие Реазонеры как

Pellet, RACER, FACT++, Snorocket, HermiT, CEL, ELK, SWRL-IQ и TrOWL обладают

различными свойствами и это мы можем увидеть из Табл. 1.

В данной работе была проанализирована работа следующих реазонеров: Fact++, Pellet,

Hermit. Была сформирована онтология, на основе которой были измерены временные

показатели для каждого реазонера. Временные исследования показали, что для формирования

данной классификации больше подходят Reasoner-ы FACT++ и Pellet. Возможная причина

такого временного отличия кроется в использовании Hermit-ом алгоритма основанного на

Hypertableau. В отличии от FACT++ и Pellet, в основу которых лег алгоритм Tableau.

22

Список литературы

1. Муромцев Д.И. Онтологический инжиниринг знаний в системе Protege: Методическое пособие. - СПб:

СПбГУ ИТМО, 2007. - 62 с.

2. Мэтью Хорриддж и др. Практический справочник по построению Онтологий OWL в Protégé 4.

Адаптированный перевод с практическими комментариями.- Манчестер: Манчестерский университет,

2007. – 12 с.

3. Hermit, 2013. http://hermit-reasoner.com/index.html

4. Jenna Zhou, 2010. http://www.damaindiana.org/Presentations/SemanticWebOntologies%2023Jan2010.pdf

5. Kaustubh Supekar, Olivier Dameron. Advanced Reasoning With OWL.- SMI: Stanford University, 2005. – 57 с.

6. Matthew Horridge, Sean Beachhofer. The OWL API: A Java API for OWL Ontologies, - UK University of

Manchester , 2010.

7. Mishra R B, Sandeep Kumar, “Semantic Web Reasoners and Languages”, Springer, 2010; DOI 10.1007/s10462-

010-9197-3

8. Horrocks Ian, Motik Boris, Shearer Rob. A Hypertableau Calculus for SHIQ,- UK University of Manchester, 2009

9. Protégéwiki, 2013. http://protegewiki.stanford.edu/wiki/ProtegeReasonerAPI

10. Protegewiki, 2011. http://protegewiki.stanford.edu/wiki/Protege4GettingStarted

11. Protégéwiki, 2008. http://protegewiki.stanford.edu/wiki/Using_Reasoners .

12. Sirin E., Parsia B., Grau B., Kalyanpur A., Katz Y. Pellet: A practical OWL-DL Reasoner,- 2007.

13. Sunitha Abburu, PhD. A Survey on Ontology Reasoners and Comparison . - Dept. of M.C.A , 2012. 7 с.

14. Techwiki, 2013. http://techwiki.openstructs.org/index.php/Inferencing_with_Prot%C3%A9g%C3%A9

15. Thomas E., Pan J., Ren Y. TrOWL: Tractable OWL 2 Reasoning Infrastructure. In Proceedings of the Extended

Semantic Web Conference. Springer, 2010.

16. Wikipedia, 2013. http://en.wikipedia.org/wiki/Description_logic