![Logo Protégé](https://habrastorage.org/getpro/habr/post_images/a06/144/09d/a0614409daed35c4c08a378e1ee0b288.png)
Создание новой онтологии
Для создания онтологии открываем редактор Protégé 5.0 (загрузить можно с официального сайта или воспользоваться онлайн версией) и вводим ее название — например, NQF_FQF, и версию — /1.0.
![](https://habrastorage.org/files/f57/21d/85a/f5721d85a78549429c4c80efbd3dba62.png)
Примечание: Мы создаем онтологию на примере Национальной рамки квалификаций Украины
Для добавления аннотации, которая бы поясняла о чем ваша онтология, необходимо нажать на «плюсик» возле слова Annotation.
![](https://habrastorage.org/files/cb7/573/895/cb7573895276407dabc126711c8d56bd.png)
В поле Value введите текст аннотации и нажмите кнопку Ок.
Так как мы пишем онтологию с использованием украинского языка, то язык аннотации мы не выбираем.
Для редактирования аннотации здесь и в других разделах редактора необходимо нажать на «кружочек» в правом углу аннотации.
![](https://habrastorage.org/files/1f9/455/8bf/1f94558bf83746869b3bdc5008e6876c.png)
Создание классов
Для создания классов вам необходимо перейти на вкладку Classes. Если у вас в редакторе она не отображается, нужно на панели инструментов выбрать Window – Tabs – Class views.
![](https://habrastorage.org/files/41a/653/8e8/41a6538e8fd64e6997b252b1b1a38952.png)
Во всех предыдущих руководствах советовали не трогать класс по умолчанию – Thing.. Мы так и поступаем.
Далее создаем свой класс. Для этого нужно нажать на кнопку Add subclass.
![](https://habrastorage.org/files/f96/140/975/f961409757674d6581191f5b8e3a3bee.png)
В открывшемся окне необходимо ввести название класса. Тут следует заметить, что кириллические символы работают, но для украинского языка не работает ‘ – апостроф. При написании слова с апострофом – отсекается часть текст до апострофа.
Примечание: ну нужна нам кириллица в названиях классов для более наглядного представления в графе. Да, конечно можно писать латиницей и никаких проблем :)
Также не пишутся названия классов типа:
1_слово
Вместо этого в редакторе получается
_слово
Но вот так писать можно:
Слово_1
То есть редактору не нравиться, когда название класса начинается с цифры.
После введения название класса в структуре онтологии появляется новый класс.
Так мы создали один класс и три подкласса.
Для лучшего описания онтологии сделаем не связанными классы между собой.
Чтобы это сделать, необходимо выбрать класс, затем в окне Description нажать на «плюсик» возле Disjoint With.
![](https://habrastorage.org/files/bd1/6ad/27e/bd16ad27ec944228b94ff69f5b54df30.png)
В открывшемся окне классов выбрать те, которые вы не хотите связывать. Комбинация Ctrl + левая кнопка мыши позволяет выбрать сразу несколько классов. Далее — Ок.
Теперь необходимо создать классы 2-го уровня для каждого из классов 1-го уровня. Замечательной особенностью редактора является то, что сделав не связанным один класс, остальные делаются автоматически.
Для этого в подклассе «Компетентність» создаем 8 подклассов: Рівень_1, Рівень_2…Рівень_8.
Для создания подклассов мы воспользуемся функцией создания иерархии классов. В главном меню из инструментов Protege Tools выберите Create Class hierarchy.
В открывшемся окне выберите основной класс и нажмите Continue.
Затем в поле Prefix пишем «Рівень_», а ниже в поле нужно написать названия добавляемых классов через пробел и и нажать Continue.
![](https://habrastorage.org/files/309/e17/df3/309e17df38f14254bc246a03bdbd55e9.png)
![](https://habrastorage.org/files/375/9c3/7da/3759c37da42f4840b3de8cfab54084d5.png)
Вот, что должно получиться в итоге.
![](https://habrastorage.org/files/ae6/162/dc2/ae6162dc241e4450a4a544979b8fc8d5.png)
Как объяснено было выше, сделаем эти классы не связанными между собой использовав в окне Description — Disjoint With.
Создание связей
Эти подклассы (Рівень_1… Рівень_8) нельзя скопировать во все остальные (а нам нужно чтобы эти уровни были у всех предыдущих классов), но можно добавить связи.
Для этого следует выбрать класс и в окне Description нажать на «плюсик» возле SubClass Of.
![](https://habrastorage.org/files/d9f/582/5a6/d9f5825a64cb417ba7accd279e87fe94.png)
В открывшемся окне выбрать вкладку Class hierarchy и из перечня классов выбрать те, которые вы хотите связать. Комбинация Ctrl + левая кнопка мыши позволяет выбрать сразу несколько классов. Далее — Ок.
Таким образом в SubClass Of появиться перечень связанных классов.
![](https://habrastorage.org/files/2d2/e89/9cf/2d2e899cf6954d3fb3b71ae90e0d37cc.png)
Если добавить плагин OntoGraf, то можно увидеть структуру онтологии в виде графа после перехода на вкладку OntoGraf.
![](https://habrastorage.org/files/59f/11d/68e/59f11d68ecb5490e9d6d4da04de38dca.png)
Добавление свойств
Научимся добавлять свойства.
Примечание: мы создали еще дополнительные классы, поэтому появятся названия классов, о которых не было написано выше.
Создадим свойство на вкладке Object Properties. Как и при создании класса выбираем свойство и нажимаем кнопку
![](https://habrastorage.org/files/442/1d9/62e/4421d962e825492994d56a82c169720e.png)
В открывшемся окне пишем названия свойства. Правила написания названий тут такие же как и названий классов.
Теперь это свойство присваиваем объекту, например «Елементарні_загальні_знання».
Для этого на той же вкладке в окне Description нажимаем на «плюсик» возле Domens (intersection).
![](https://habrastorage.org/files/2b8/1d5/e09/2b81d5e099d5415b83e878f6dd0a7c62.png)
В окне, что открылось выбираем класс «Елементарні_загальні_знання».
Далее нажимаем «плюсик» возле Ranges (intersection) и в окне, что открылось выбираем клас «Рівень_0». В итоге мы связываем эти классы через свойство «належить».
И это отображается соответствующими линиями на графе OntoGraf.
![](https://habrastorage.org/files/1e1/2c4/a72/1e12c4a72a6a4ab5be3cc0b18ebc7be9.png)
Добавление характеристики
Для того чтобы добавить к свойству характеристику нужно его выделить, затем в окне Characteristics нажать «галочку» возле Symmetric.
Таким же образом поступаем с другими классами, подклассами, свойствами и т.д…
В итоге получаем граф. Для того, чтобы представить граф в удобоваримом виде нужно «ручками» попередвигать элементы, чтобы все было хорошо видно, т.к. OntoGraf автоматически размещает не очень красиво.
![](https://habrastorage.org/files/b2f/027/6b3/b2f0276b312a49259b53585ef8827206.png)
Полный тьюториал можно скачать тут.