Создание OWL DL онтологии в программе Protege
OWL DL онтология несколько отличается от предыдущего примера (создание простой онтологии в программе Protege). Особенностью OWL DL онтологий является наличие большого разнообразия связей между классами. Если в обычной онтологии для указания взаимодействия 2 классов потребовалось бы создавать отдельный класс и для каждого из них выделять по свойству, то в OWL DL онтологиях работает несколько иной механизм. Абсолютно все связи между классами устанавливаются через свойства. Для иллюстрации различий между двумя подходами к проектированию онтологий, возьмем другую онтологию и реализуем её как OWL DL в Protégé. В этот раз основным классом вновь будет Попугай. Оставим в онтологии и класс Регион, а остальные заменим на класс Хохолок (означающий наличие или отсутствие хохолка у птицы), класс Размер, и класс Речь, отвечающий за способности попугая к разговору. Для начала создадим пустой проект. Чтобы спроектировать OWL диаграмму, при создании проекта необходимо указать OWL files как опцию. А теперь приступаем непосредственно к созданию онтологии. Во вкладке OWLClasses создаем ранее заявленные классы. Каждый из этих классов обязательно должен быть подклассом системного класса THING . Для того, чтобы это сделать, можно выделить класс THING и щелкнуть на значок добавления подкласса на панели или же нажать правой кнопкой мыши на классе и выбрать пункт «create subclass». Создадим таким способом все объявленные ранее классы и приступим к созданию классов-наследников. Классы наследники создаются способом, аналогичным предыдущему. Для того, чтобы можно было использовать сам класс Size при указании связей, определим его через классы- потомки. Это делается в окне Class Editor при нажатом классе Size. В среднем из трех полей выбираем иконку с буквой U и нажимаем на нее. В результате нажатия появляется окошко с различными типами отношений. В нашем случае подходит вариант OR (верхний ряд, третий верхний справа значок). При нажатии на значок в строке ввода появляется тип связи. Остается только указать, какими классами определяется класс Size. Для этого выбираем значок класса (желтый кружок слева снизу) и указываем классы-составляющие. Таким образом, в строке ввода должно появиться выражение : «BigSize or SmallSize or MediumSize». Если ошибок при составлении выражения не допущено, то в верхнем правом углу отобразится зеленая галочка. С классом Crest (Хохолок) , Speech (способность говорить) и Region всё обстоит иначе. Если класс Size имел три класса-наследника, из которых могло формироваться произвольное количество сущностей, то эти классы состоят из конечного набора сущностей. Для фиксации этой ситуации необходимо для начала создать те объекты, что определяют класс. Для этого переходим во вкладку Individuals и щелкаем на класс, объекты для которого хотим создать. После этого нажимаем на ромбик на верхней панели окна Instance Browser. Переименовать вновь созданную сущность можно в строке For Individual справа, поменяв данное системой имя после последней решетки на подходящее. А теперь вновь возвращаемся к классам и представляем класс Region как набор сущностей. Для этого вновь нажимаем значок создания связи и выбираем тип отношения «{}» - перечисление. Доступ к сущностям получаем через значок фиолетового ромбика там же. В результате манипуляций должно получиться выражение «{Asia Africa SouthAmerica NothernAmerica Australia}». А теперь начинается самое интересное. Класс Parrot, о котором мы говорили раньше, имеет несколько свойств – размер, регион, наличие хохла и т.д. За каждое из этих свойств отвечает некоторый класс (мы их создали ранее). Осталось создать только сами свойства, а делается это во вкладке «Properties» аналогично созданию класса. И вновь возвращаемся во вкладку с классами и нажимаем на уже знакомую букву U , вызывающую панель с отношениями. На этот раз для задания свойства используем отношение some. То есть наше свойство – это некий объект из выбранного класса. Для этого выбираем свойство, щелкая на прямоугольник, выбираем иконку some (верхний ряд, вторая слева) , а также класс, определяющий свойство. Должно получиться выражения типа «LivesIn some Region», где LivesIn – название свойства, some – отношение, а Region – класс. Далее можно создавать объекты и выполнять запросы аналогично способу, предложенному для обычных диаграмм, уже описанному ранее. © fevt.ru, ПрИн-5 (2011) Добавил: COBA (24.05.2012) | Категория: Разное Просмотров: 11146 | Загрузок: 0 | Рейтинг: 5.0/2 | Теги: |
Комментарии (0) | |