Дослідження логічної моделі мови OWL – Ontology Web Language

Автор работы: Пользователь скрыл имя, 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

Прикрепленные файлы: 1 файл

all.doc

— 170.50 Кб (Скачать документ)

Свойства, которые используются как аннотации, должны быть объявлены, используя 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/REC-owl-guide-20040210/river#" >

<!ENTITY obl "http://www.w3.org/TR/2004/REC-owl-guide-20040210/obl#" >

...

<rdf:RDF xmlns:riv ="http://www.w3.org/TR/2004/REC-owl-guide-20040210/river#"

         xmlns:obl="http://www.w3.org/TR/2004/REC-owl-guide-20040210/obl#" ... >

...

Фундаментальным таксономическим  конструктором для классов является rdfs:subClassOf. Он связывает более частный  класс с более общим классом. Если X - подкласс Y, то каждый представитель X - также представитель Y. Отношение rdfs:subClassOf является транзитивным. Если X - подкласс Y, и Y - подкласс Z, то X - подкласс Z.

<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:label>

  <rdfs:label xml:lang="ru">речка</rdfs:label>

  <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/XMLSchema. Следующие типы данных рекомендуются для использования с OWL: xsd:string xsd:normalizedString 

 


 

 

 

 

 

 

 

 

Табл. 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