Создание онтологии в Protégé 5.0

  • Tutorial
Logo ProtégéProtégé является свободным программным средством с открытым исходным кодом для редактирования онтологий и систем управления знаниями 1 . Версия 5.0 на сегодня является актуальной (о ней подробнее). Поэтому я подумала, что простой тьюториал, как небольшое введение в работу с этой программой, не будет лишним на Хабре.

Создание новой онтологии


Для создания онтологии открываем редактор Protégé 5.0 (загрузить можно с официального сайта или воспользоваться онлайн версией) и вводим ее название — например, NQF_FQF, и версию — /1.0.



Примечание: Мы создаем онтологию на примере Национальной рамки квалификаций Украины

Для добавления аннотации, которая бы поясняла о чем ваша онтология, необходимо нажать на «плюсик» возле слова Annotation.



В поле Value введите текст аннотации и нажмите кнопку Ок.
Так как мы пишем онтологию с использованием украинского языка, то язык аннотации мы не выбираем.
Для редактирования аннотации здесь и в других разделах редактора необходимо нажать на «кружочек» в правом углу аннотации.



Создание классов


Для создания классов вам необходимо перейти на вкладку Classes. Если у вас в редакторе она не отображается, нужно на панели инструментов выбрать Window – Tabs – Class views.



Во всех предыдущих руководствах советовали не трогать класс по умолчанию – Thing.. Мы так и поступаем.
Далее создаем свой класс. Для этого нужно нажать на кнопку Add subclass.


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

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

Также не пишутся названия классов типа:
1_слово
Вместо этого в редакторе получается
_слово
Но вот так писать можно:
Слово_1
То есть редактору не нравиться, когда название класса начинается с цифры.
После введения название класса в структуре онтологии появляется новый класс.

Так мы создали один класс и три подкласса.

Для лучшего описания онтологии сделаем не связанными классы между собой.
Чтобы это сделать, необходимо выбрать класс, затем в окне Description нажать на «плюсик» возле Disjoint With.



В открывшемся окне классов выбрать те, которые вы не хотите связывать. Комбинация Ctrl + левая кнопка мыши позволяет выбрать сразу несколько классов. Далее — Ок.

Теперь необходимо создать классы 2-го уровня для каждого из классов 1-го уровня. Замечательной особенностью редактора является то, что сделав не связанным один класс, остальные делаются автоматически.
Для этого в подклассе «Компетентність» создаем 8 подклассов: Рівень_1, Рівень_2…Рівень_8.
Для создания подклассов мы воспользуемся функцией создания иерархии классов. В главном меню из инструментов Protege Tools выберите Create Class hierarchy.

В открывшемся окне выберите основной класс и нажмите Continue.

Затем в поле Prefix пишем «Рівень_», а ниже в поле нужно написать названия добавляемых классов через пробел и и нажать Continue.



Вот, что должно получиться в итоге.


Как объяснено было выше, сделаем эти классы не связанными между собой использовав в окне Description — Disjoint With.

Создание связей


Эти подклассы (Рівень_1… Рівень_8) нельзя скопировать во все остальные (а нам нужно чтобы эти уровни были у всех предыдущих классов), но можно добавить связи.
Для этого следует выбрать класс и в окне Description нажать на «плюсик» возле SubClass Of.



В открывшемся окне выбрать вкладку Class hierarchy и из перечня классов выбрать те, которые вы хотите связать. Комбинация Ctrl + левая кнопка мыши позволяет выбрать сразу несколько классов. Далее — Ок.
Таким образом в SubClass Of появиться перечень связанных классов.



Если добавить плагин OntoGraf, то можно увидеть структуру онтологии в виде графа после перехода на вкладку OntoGraf.



Добавление свойств


Научимся добавлять свойства.

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

Создадим свойство на вкладке Object Properties. Как и при создании класса выбираем свойство и нажимаем кнопку .

В открывшемся окне пишем названия свойства. Правила написания названий тут такие же как и названий классов.

Теперь это свойство присваиваем объекту, например «Елементарні_загальні_знання».
Для этого на той же вкладке в окне Description нажимаем на «плюсик» возле Domens (intersection).



В окне, что открылось выбираем класс «Елементарні_загальні_знання».
Далее нажимаем «плюсик» возле Ranges (intersection) и в окне, что открылось выбираем клас «Рівень_0». В итоге мы связываем эти классы через свойство «належить».

И это отображается соответствующими линиями на графе OntoGraf.


Добавление характеристики


Для того чтобы добавить к свойству характеристику нужно его выделить, затем в окне Characteristics нажать «галочку» возле Symmetric.

Таким же образом поступаем с другими классами, подклассами, свойствами и т.д…

В итоге получаем граф. Для того, чтобы представить граф в удобоваримом виде нужно «ручками» попередвигать элементы, чтобы все было хорошо видно, т.к. OntoGraf автоматически размещает не очень красиво.



Полный тьюториал можно скачать тут.
Ads
AdBlock has stolen the banner, but banners are not teeth — they will be back

More

Comments 11

    0
    Сложно читать русский вперемешку с украинской мовой. Предметную область нужно было выбрать попроще и на русском.
      0
      Спасибо. Я так и думала, что в этом могут быть сложности, но скриншоты не хотелось переделывать. На будущее учту это и сразу буду делать на русском или английском.
      P.S. По поводу предметной области — я ее не особо выбирала, такое было задание :)
        0
        Не обращайте внимание на названия классов, они ведь всё равно могут быть на каком угодно языке, главное куда нажать, чтобы получились связи, свойства и характеристики.
          0
          Просто когда понимаешь контекст — то проще понимать с систему управления этим контекстом.
          Я не являюсь ненавистником украинского языка, просто я не понимаю его вообще.

          Сама тема управления знаниями очень интересна.
            0
            Чтобы понять контекст я перелопатила много источников на разных языках :). Если он вам действительно интересен про Российскую рамку можно почитать тут
              0
              а если взять абстрактную предметную область, которую любой человек понимает?

              мне интересен сам инструмент, система управления знаниями.
                0
                Я могу это все представить вам так. Есть школа (это в программе класс по умолчанию Thing). Его подклассы: 1-11(12) классы. Классы второго уровня: 1-А, 1-Б… Эти классы мы не связываем. А классы 3-го уровня: Предметы. Их нужно связать с классами 1-го и 2-го уровней через свойство, которое можно назвать — "учат". Т.е. все первые классы и в том числе и 1-А и 2-А "учат" Природоведение. Для того чтобы полнее представить какая это связь нужно добавить к свойству "учат" характеристику, например, Symmetric (Симметричные свойства). Это означает, если свойство p симметричное, и свойство связывает индивида а с индивидом b, то индивид b связан также с индивидом а через свойство р.
                Более подробно об этом в руководствах ч.1, ч.2, ч.3, ч.4.
                Они правда по 4-й версии, но не много отличий с 5-й.
        0
        А где можно почитать про практическую пользу онтологии в IT?
        0
        Да, было б классно добавить введение — что это и для чего это нужно.

      Only users with full accounts can post comments. Log in, please.