Автор работы: Пользователь скрыл имя, 11 Апреля 2013 в 22:20, курсовая работа
Одним из преимуществ OWL онтологий будет доступность инструментов, которые могут рассуждать о них. Инструменты обеспечат общую поддержку, которая не является специфической для данной предметной области, что было бы тем случаем, когда надо построить систему, чтобы рассуждать в пределах одной стандартной для данной индустрии XML схеме. Построение четкой и работоспособной системы рассуждения - непростое дело. Строительство онтологии намного более доступно.
ВВЕДЕНИЕ………………………………………………………………………..6
1 ОСНОВНЫЕ ПРИНЦИПЫ И ВОЗМОЖНОСТИ…………………….............8
2 ВАРИАНТЫ ПРИМЕНЕНИЯ……………...…………………………………10
2.1 Применение в химии и биоинформатике……………………………….10
2.2 Интеграция баз данных………………………………………………….11
2.3 Описание классификаций для Web-порталов……………………….…11
2.4 Описание целостности данных………………………………………….12
3 ДИАЛЕКТИКИ OWL………………………………………………………….14
4 СТРУКТУРА ОНТОЛОГИЙ……..……………………………………..…….17
4.1 Пространства имён……......…………………………………….……….17
4.2 Заголовки онтологии………………………………………………...…..19
5 СВЯЗЫВАНИЕ ДАННЫХ В OWL………………………………….……….22
6 ОСНОВНЫЕ ЭЛЕМЕНТЫ……………………………………………………23
6.1 Простые классы и индивиды……………………………………...……..23
6.2. Простые именованные классы……………………………………….....23
6.3 Индивиды…………………………………………………………….…...25
6.4 Простые свойства………………………………………………………...25
6.5 Определение свойств…………………………………………………….26
6.6 Свойства и типы данных…………………………………………………26
7. КАРТИРОВАНИЕ ОНТОЛОГИЙ…………………………………………...28
8. ЭКВИВАЛЕНТНОСТЬ МЕЖДУ КЛАССАМИ И СВОЙСТВАМИ………29
8.1 Идентичность и различность между индивидами………………….…..29
9. СЛОЖНЫЕ КЛАССЫ…………………………………………………….….31
9.1 Операторы множеств………………………………………………….…31
9.2 Непересекающиеся классы…………………………………………..…..32
10. ВЕРСИИ ОНТОЛОГИЙ……………………………………………….…….34 ВЫВОДЫ………………………………………………………………………...36
ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ…………………………37
Свойства, которые используются как аннотации, должны быть объявлены, используя owl:AnnotationProperty. Например,
<owl:AnnotationProperty rdf:about="&dc;creator" />
OWL обеспечивает несколько
других механизмов, чтобы связать
текущую онтологию с
Также я включил rdfs:label, чтобы указать для нашей онтологии метку на натуральном языке.
Определение заголовка
онтологии заканчивается
</owl:Ontology>
За заголовком следуют фактические определения, которые составляют онтологию, и в конечном счете завершаются
</rdf:RDF>
5 СВЯЗЫВАНИЕ ДАННЫХ В OWL
Способность OWL выражать онтологическую информацию об индивидах, содержащихся во множестве документов, принципиальным образом поддерживает связывание данных из разных источников. Лежащая в основе семантика обеспечивает возможность делать выводы из этих данных, что может привести к неожиданным результатам. В частности способность выражать эквивалентность с помощью owl:sameAs может быть использована, чтобы заявить, что как будто бы различные индивиды на самом деле одно и то же. Owl:InverseFunctionalProperty также может быть использовано, чтобы связать индивидов вместе. Например, если такое свойство как "ИНН" является owl:InverseFunctionalProperty, то два отдельных человека могли бы быть расценены как один и тот же на основе того, что они имеют одно и то же значение этого свойства. Когда идентичность индивидов определяется такими средствами, информация о них из разных источников может быть слита. Эта агрегация может использоваться, чтобы определить факты, которые не представлены прямо ни в одном из источников.
Способность Семантической Сети связывать информацию из многих источников - желательное и мощное свойство, которое может использоваться во многих приложениях. Однако, способность объединять данные из многих источников в сочетании с мощью логического вывода OWL, действительно имеет потенциал для злоупотребления. Пользователи OWL должны быть заботиться о потенциальной угрозе секретности. Детальные решения по защите информации были расценены как выходящие за область рассмотрения данной рабочей группой. Множество организаций, занимающихся этими вопросами, предлагает широкий спектр решений по безопасности и секретности. Например, SAML и P3P.
6 ОСНОВНЫЕ ЭЛЕМЕНТЫ
Большинство элементов онтологии OWL относятся к классам, свойствам, представителям классов и отношениям между этими представителями.
6.1 Простые классы и индивиды
Применение онтологии будут зависеть от предоставляемой ею возможности рассудить об индивидах. Чтобы сделать это удобным, нужно иметь механизм, чтобы описать классы этих индивидов и свойства, которые они наследуют на основании членства в классе. Всегда можно обозначить определенные свойства индивидов, но основная сила онтологий лежит в рассуждениях на основе классов.
Иногда хочется подчеркнуть различие между классом как объектом и классом как набором, содержащим элементы. Все называют - набор индивидов, которые являются членами какого-то класса расширением этого класса.
6.2. Простые именованные классы
Class, rdfs:subClassOf
Наиболее фундаментальные понятия в какой-то области должны соответствовать классам, которые находятся в корне различных таксономических деревьев. Каждый индивид в мире OWL является членом класса owl:Thing. Таким образом каждый определенный пользователем класс автоматически является подклассом owl:Thing. Специфичные для данной области корневые классы определяются простым объявлением именованного класса. OWL также определяет пустой класс, owl:Nothing.
Для области реки, которую я использую в качестве примера, и создам три корневых класса: Речку, Область и ТипВоды.
<owl:Class rdf:ID="Речка"/>
<owl:Class rdf:ID="Область"/>
<owl:Class rdf:ID="ТипВоды"/>
Теперь можно обратиться к классам, которые я определил, используя их же идентификаторы. Для первого класса, заданного в этом документе, можно использовать относительный идентификатор, #Речка. Возможно, другим документам также потребуется ссылка на этот класс. Самый разумный способ сделать это - обеспечить namespace и определения ENTITY, которые включают определяемый документ в качестве источника:
...
<!ENTITY riv "http://www.w3.org/TR/2004/
<!ENTITY obl "http://www.w3.org/TR/2004/
...
<rdf:RDF xmlns:riv ="http://www.w3.org/TR/2004/
xmlns:obl="http://www.w3.org/
...
Фундаментальным таксономическим
конструктором для классов
<owl:Class rdf:ID="Река">
<rdfs:subClassOf rdf:resource="#Водоём" />
...
</owl:Class>
Я определил Речку (одно из мест водоёма) как подкласс Водоёма.
Потом я создаю простое (и неполное) определение для класса Речка. Речка - это Водоём. Также мы определяем Кока-Колу как ПродуктПитья.
<owl:Class rdf:ID="Речка">
<rdfs:subClassOf rdf:resource="&obl;Водоём"/>
<rdfs:label xml:lang="en">river</rdfs:
<rdfs:label xml:lang="ru">речка</rdfs:
<rdfs:label xml:lang="fr">riv</rdfs:label>
...
</owl:Class>
<owl:Class rdf:ID="Кока-Кола">
<rdfs:subClassOf rdf:resource="#ПродуктПитья" />
...
</owl:Class>
6.3 Индивиды
В дополнение к классам нужно описывать их члены. Это так сказать, отдельные индивиды в пространстве имён. Для определения индивида достаточно объявить его членом какого-то класса.
<Регион rdf:ID="Речка" />
Следующее идентично по значению примеру выше.
<owl:Thing rdf:ID="Речка" />
<owl:Thing rdf:about="#Речка">
<rdf:type rdf:resource="#Название"/>
</owl:Thing>
rdf:type - это свойство RDF, которое связывает индивида с классом, членом которого он является.
6.4 Простые свойства
Мир классов и индивидов был бы совершенно неинтересным, если бы мы могли только определять таксономии. Свойства позволяют нам утверждать общие факты о членах классов и особые факты об индивидах.
6.5 Определение свойств
Свойство - это бинарное отношение. Различают два типа свойств:
1) свойства-значения, отношения между представителями классов и RDF-литералами или типами данных, определяемых XML Schema
2) свойства-объекты, отношения между представителями двух классов. Заметьте, что слово объект в названии не связано с RDF-термином rdf:object
При определении свойства существует множество способов ограничить это отношение. Можно определить домен и диапазон. Свойство может быть определено как специализация (подсвойство) существующего свойства.
<owl:ObjectProperty rdf:ID="СостоитИзВоды">
<rdfs:domain rdf:resource="#Кока-Кола"/>
<rdfs:range rdf:resource="#Вода"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="Еда">
<rdfs:domain rdf:resource="#ПриемПищи" />
<rdfs:range rdf:resource="#ВидБлюда" />
</owl:ObjectProperty>
6.6 Свойства и типы данных
Свойства различаются по тому, связывают ли они индивидов с индивидами (свойства-объекты) или индивидов с типами данных (свойства-значения). Свойства-значения могут иметь диапазон литералов RDF или простых типов, определенных в XML Schema datatypes.
OWL использует большинство
встроенных типов XML Schema. Ссылки
на эти типы осуществляются
посредством URI для типов http://www.w3.org/2001/
Табл. 1(Типы данных)
7. КАРТИРОВАНИЕ ОНТОЛОГИЙ
Для того, чтобы онтологии имели максимальный эффект, они должны быть широко распространены. А чтобы минимизировать интеллектуальные усилия, затрачиваемые на разработку онтологий, они должны быть пригодными для многократного использования. В лучшем из всех возможных варианте они должны быть составлены из компонентов. Например, можна было бы воспользоваться онтологией даты из одного источника и онтологией физического местоположения из другого, и затем расширить понятие местоположения, включив в него период времени, в течение которого данное местоположение сохраняется.
Важно понять, что большая часть усилий по разработке онтологии посвящена связыванию вместе классов и свойств так, чтобы максимально точно передать заложенный в понятия смысл. Простые утверждения о членстве в классе имеют широкие и полезные последствия. Это - самая сложная часть разработки онтологии. Если можно найти существующую онтологию, которая уже широко используется и хорошо проработана, то имеет смысл приспособить ее для своих нужд.
Также заманчиво будет слить воедино целую коллекцию онтологий. В этом случае помощь специального инструментария будет почти наверняка необходима для поддержания согласованности.
8. ЭКВИВАЛЕНТНОСТЬ МЕЖДУ
КЛАССАМИ И СВОЙСТВАМИ
Чтобы связать вместе ряд онтологий, входящих в качестве компонентов в какую-то третью онтологию, часто полезно иметь возможность указать, что данные класс или свойство в одной онтологии эквивалентны классу или свойство во второй онтологии. Эта способность должна использоваться с осторожностью. Если объединенные онтологии являются противоречащими (все А - это Б, в другой все А - это не Б), то не будет никакого расширения (ни индивидов, ни отношений), который удовлетворяли бы получающуюся комбинацию.
В онтологии пищи я хочу связать особенности вина в описаниях обеденных блюд обратно с онтологией вина. Один из способов сделать это - определить класс в онтологии пищи (&food;Wine), а затем объявить его эквивалентным существующему классу вина в винной онтологии.
<owl:Class rdf:ID="Речка">
<owl:equivalentClass rdf:resource="&riv;Речка"/>
</owl:Class>
Выражения класса могут быть адресатами конструкций rdfs:subClassOf. Также они могут быть адресатом owl:equivalentClass. Опять таки, это избавляет от необходимости изобретать названия для каждого выражения класса и обеспечивает мощную способность определения, основанную на удовлетворении характеристик свойств.
8.1 Идентичность и различность между индивидами
sameAs
Этот механизм похож на тот, что для классов, но объявляет идентичными двух индивидов. Примером может быть:
<Еда rdf:ID="МояЛюбимаяЕда">
<owl:sameAs rdf:resource="#ГречанаяКаша" />
</Вино>
Данный пример не несет большой пользы. Все, что можно узнать из него - это то, что я люблю кашу. Более типично использовать sameAs для того, чтобы приравнять друг с другом индивидов, определяемых в разных документах с целью унифицировать две онтологии.
В онтологии вина обеспечивается утверждение owl:AllDifferent для всех ХарактеристикВина. Также написал, что все Винодельни различны. Если бы я хотел добавить новую винодельню в какую-нибудь другую онтологию и утверждали, что она обособлена от всех тех, что уже были определены, то мы должны были бы вырезать и вставить оригинал утверждения owl:AllDifferent и добавить в список нового производителя. Более простого способа расширить коллекцию owl:AllDifferent в OWL DL нет. В OWL Full возможны другие подходы с использованием триплетов RDF и конструкции rdf:List.
9. СЛОЖНЫЕ КЛАССЫ
Для формирования классов OWL обеспечивает дополнительные конструкции. Эти конструкции могут использоваться для создания так называемых выражений класса. OWL поддерживает основные операторы множеств, а именно объединение, пересечение и дополнение. Они называются, соответственно, owl:unionOf, owl:intersectionOf и owl:complementOf. Дополнительно классы могут быть перечисленными. Расширения класса могут быть заявлены явно посредством конструктора oneOf. И можно утверждать, что расширения класса должны быть непересекающимися.
Выражения класса могут быть вложены одно в другое, не требуя создания имен для каждого промежуточного класса. Это позволяет использование операций со множествами для создания сложных классов из анонимных классов или классов с ограничениями по значению.
9.1 Операторы множеств
Классы, созданные с использованием операций множеств, - более похожи на определения, чем что-либо, что были до сих пор. Члены класса полностью определены операцией множеств.
Следующий пример демонстрирует использование конструкции unionOf. Она используется точно так, как конструкция intersectionOf:
<owl:Class rdf:ID="Еда">
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:about="#СладкаяЕда" />
<owl:Class rdf:about="#СолёнаяЕда" />
</owl:unionOf>
</owl:Class>
Класс Еда включает расширение обоих классов СладкаяЕда и СолёнаяЕда.
Конструкция complementOf выделяет всех индивидов из домена обсуждения, которые не принадлежат данному классу. Обычно при этом обращаются к очень большому набору индивидов:
Информация о работе Дослідження логічної моделі мови OWL – Ontology Web Language