Опубликован: 04.05.2010 | Доступ: свободный | Студентов: 4032 / 454 | Оценка: 4.64 / 4.44 | Длительность: 41:24:00
Лекция 15:

Семантический веб и микроформаты

20.1.4.2. Компоненты Semantic Web

Техническую часть Semantic Web составляет семейство стандартов на языки описания, включающее XML, XML Schema, RDF, RDF Schema, OWL, а также некоторые другие. Располагая их в порядке повышения уровня абстракции, реализуемого тем или иным языком, получаем [7].

  • XML предоставляет синтаксис для определения структуры документа, подлежащего машинной обработке. Синтаксис XML не несет семантической нагрузки.
  • XML Schema определяет ограничения на структуру XML -документа, для того, чтобы обеспечить предсказуемость обработки. Стандартный синтаксический анализатор языка XML в состоянии проверить произвольный XML -документ на соответствие его структуры, так называемой схеме документа, описанной в XML Schema.
  • RDF представляет собой простой способ описания экземплярных данных в формате субъект-отношение предикат-объект, в котором в качестве любого элемента этой тройки используются только идентификаторы ресурсов. Существует стандартизованное отображение этих троек на XML -документы предопределенной структуры (т.е. консорциумом W3 определена схема XML -документов, содержащих RDF -описания), а также на другие форматы представления (например, в нотацию N3).
  • RDF Schema (RDF-S) описывает набор атрибутов (здесь их точнее назвать отношениями), таких, как rdfs:Class, для определения новых типов RDF -данных. Языком поддерживается также отношение наследования типов rdfs:subClassOf. Таким образом, RDF Schema описывает свойства, классы и иерархии ресурсов RDF.
  • OWL (Web Ontology Language) расширяет возможности по описанию новых типов (в частности, добавлением перечислений), а также позволяет описывать новые типы данных RDF Schema в терминах уже существующих (например, определять тип, являющийся пересечением или объединением двух существующих). OWL используется для точного представления значений терминов в словарях и описания взаимосвязей между этими терминами. Это представление терминов и их взаимосвязей называется онтологией. OWL имеет больше механизмов для выражения значений, чем XML, RDF и RDF -S, и он превосходит эти языки по возможности представлять контент, который могут интерпретировать машины.

Вышеперечисленные стандарты можно увидеть на рис. 20.3.

Рекомендации W3C касательно Semantic Web

Рис. 20.3. Рекомендации W3C касательно Semantic Web

Источник: Использование технологии Semantic Web в системе поиска несоответствий в текстах документов [8]

Также стоит выделить следующие технологии.

  • Унифицированные (или универсальные) идентификаторы ресурсов ( URI ) – это короткие символьные строки, которые идентифицируют ресурсы в Веб: документы, изображения, загружаемые файлы, сервисы, электронные почтовые ящики и т. п. URI (URL) обеспечивают программам простой доступ к указанным ресурсам.
  • SPARQL – язык запросов к документам RDF и протокол передачи данных.

Рассмотрим более подробно некоторые из данных технологий.

20.1.4.2.1. RDF

RDF (Resource Description Framework) – это универсальный язык для представления знаний в Сети [9]. Используя простую реляционную модель, он позволяет различным приложениям обмениваться данными. RDF данные описывают знания в самом общем виде. В то время как XML схемы просто описывают структуру документа, RDF имеет дело со знаниями как таковыми. Это позволяет значительно расширить область применения данных, представленных в таком формате. Если XML позволяет обмениваться информацией в рамках одного приложения, то RDF предоставляет универсальное средство для обмена данными между разными программами. Причем сами программы могут ничего не знать друг о друге.

Изначально RDF представлял собой инфраструктуру для метаданных, и предназначался для организации взаимодействия приложений, которые обмениваются информацией через Интернет. RDF обеспечивает средства для организации автоматической обработки Веб-ресурсов и, таким образом, предоставляет базовый функционал для организации работы Семантической Паутины. Метаданные RDF могут быть использованы во множестве разных прикладных областей. Например, в области поиска информации, для обеспечения более адекватных результатов работы поисковых серверов; в области каталогизации, для описания содержания и взаимоотношений между теми или иными ресурсами; в области интеллектуальных программных агентов, для облегчения обменом знаниями; для описания прав интеллектуальной собственности на Веб-ресурсы и многое другое. RDF данные снабженные цифровой подписью станут ключом к созданию Сети, которой можно доверять ("Web of Trust"), для электронной торговли, сотрудничества, и других приложений.

RDF обеспечивает следующие возможности:

  • взаимообмен данными;
  • семантика доступная для понимания компьютерами;
  • большая точность в процессе анализа ресурса, чем полнотекстовый поиск;
  • более стойкие к изменениям приложения.

Дальнейшее развитие RDF также обеспечит:

  • унифицированные средства для поиска ресурсов;
  • язык обработки правил для автоматического принятия решений по поводу WEB-ресурсов;
  • язык для извлечения метаданных от сторонних источников.

Вообще, RDF обеспечивает базу для целого семейства инструментов для формирования, манипулирования и поиска понятных компьютерам данных в Сети, и, тем самым, способствует трансформации Интернета в огромное хранилище знаний доступных для обработки компьютерами.

RDF – это спецификация, которая определяет модель представления мира и синтаксис для сериализации и обмена этой модели. Консорциум всемирной сети W3C разработал XML -сериализацию для RDF. RDF XML – это стандартный формат обмена для RDF в семантической сети, хотя он не является единственным [10].

RDF обеспечивает последовательный стандартный способ описания и работы практически с любыми Internet-ресурсами: от текстовых страниц и графиков до аудио-файлов и видеоклипов. Он предлагает синтаксические возможности для взаимодействия сетей и формирует базовый слой для создания семантической сети. RDF определяет управляемые графы связей, представленные тройками объект-атрибут-значение. Например, объект О имеет атрибут А со значением V.

Пример RDF XML:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:contact="http://www.w3.org/2000/05/contact#">
  <contact:Company rdf:about="http://www.w3.org/Organization/contact#WebifySolutions">
    <contact:name>Webify Solutions</contact:name>
    <contact:mailbox rdf:resource="mailto:info@webifysolutions.com"/>
    <contact:phone>1-800-4WEBIFY</contact:phone>
  </contact:Company>
</rdf:RDF>

Элемент RDF в примере несет информацию о ресурсе, в данном случае это компания http://www.w3.org/Organization/contact#WebifySolutions. Компания может быть идентифицирована по URI http://www.w3.org/Organization/contact#WebifySolutions, ее название – Webify Solutions, ее e-mail – info@webifysolutions.com, а номер телефона – 1-800-4WEBIFY.

На рис. 20.4 показан управляемый граф связей, представляющий ту же информацию.

Граф RDF, описывающий контактную информацию компании Webify Solutions

увеличить изображение
Рис. 20.4. Граф RDF, описывающий контактную информацию компании Webify Solutions

Источник: Будущее Web – за семантикой [10]

20.1.4.2.2. RDF Schema

RDF Schema – это семантическое расширение RDF [10]. Она обеспечивает механизмы описания связанных ресурсов, а также собственно этих связей.

Система классов и свойств RDF Schema похожа на систему типов языков объектно-ориентированного программирования, таких, например, как Java, но отличается от многих других систем. Так, описательный язык словаря RDF определяет свойства в терминах того класса ресурсов, к которому эти свойства относятся. Другие системы же описывают класс в терминах свойств его элементов.

RDF и схема RDF основаны на XML и схеме XML. Существование стандартов для описания данных ( RDF ) и их атрибутов (схема RDF ) позволяет создавать пакеты легко доступных инструментов для чтения и использования данных из многочисленных источников. То, насколько глубоко различные приложения могут обмениваться данными и использовать их, иногда называется синтаксическим взаимодействием сетей (syntactic interoperability). Чем более стандартизированными и распространенными являются эти инструменты работы с данными, тем выше степень синтаксического взаимодействия сетей и тем легче и привлекательнее становится использование подхода на основе семантических сетей по сравнению с точечными интеграционными решениями.

20.1.4.2.3. OWL

Синтаксическое взаимодействие сетей – необходимое условие для того, чтобы многие приложения могли по-настоящему "понимать" данные и работать с ними как с информацией. Это также необходимое условие для корректной проверки данных. Синтаксическое взаимодействие сетей требует преобразования ("мэппирования") между терминами, для чего, в свою очередь, необходим контент-анализ.

Такой контент-анализ требует формальных и подробных спецификаций моделей доменов, которые определяют используемые термины и их связи. Подобные формальные модели доменов иногда называются онтологиями. Они определяют модели данных в терминах классов, подклассов и свойств.

Онтологический язык Web (Web Ontology Language), рекомендуемый консорциумом W3C, помогает в выражении онтологий. Рабочий онтологический язык (Ontology Working Language, сокр. OWL ) добавляет больше словарных возможностей для описания свойств и классов, чем RDF или схема RDF. В частности, он позволяет описывать связи между классами (например, неперекрываемость), мощность множества (например, "ровно один"), равенство, более богатую типологию свойств и их характеристики (например, симметрия) [10].

Онтологический язык Web на основе OWL разработан для использования приложениями, которые должны работать с содержанием информации, а не просто предоставлять ее пользователю. OWL улучшает возможности автоматической интерпретации содержимого интернета по сравнению с теми, что могут обеспечить XML, RDF и схема RDF. Это происходит благодаря тому, что OWL предоставляет дополнительные словарные возможности наряду с формальной семантикой. OWL включает три подъязыка: полный OWL ( OWL Full), OWL DL и облегченный OWL ( OWL Lite) (перечислены в порядке убывания их выразительных возможностей) [10]:

  • Полная версия онтологического языка Web на основе OWL называется OWL Full. Этот язык использует все базисные элементы языка OWL и позволяет комбинировать их случайным образом с RDF и схемой RDF. Полный OWL совместим "снизу вверх" с RDF, как синтаксически, так и семантически: любой разрешенный документ RDF является также разрешенным документом OWL Full. Маловероятно, что какие-либо интеллектуальные программные средства способны поддерживать все возможности OWL Full, поскольку этот язык предлагает максимум выразительных средств и синтаксической свободы RDF при отсутствии вычислительных гарантий.
  • OWL DL предназначен для тех пользователей, кому необходим максимум выразительных средств без потери вычислительных возможностей. OWL DL – это подъязык конструкций языка OWL Full с некоторыми ограничениями, такими как разделение типов (type separation) (например, класс не может быть одновременно индивидуальным элементом или свойством, а свойство не может одновременно быть индивидуальным элементом или классом).
  • OWL Lite предназначен для пользователей, которым необходима классификационная иерархия и простые ограничительные возможности. Преимуществом этого языка являются большая легкость его понимания и внедрения по сравнению с двумя другими. Но, в то же время, его выразительные возможности гораздо ниже. Например, хотя OWL Lite и поддерживает ограничения мощности множества, единственными допустимыми значениями этого параметра являются 0 или 1.

Примерами онтологий являются каталоги сайтов интерактивных покупок, таких как Amazon.com, стандартные терминологии той или иной области деятельности, например, UNSPSC – The United Nations Standard Products and Services Code (система стандартных продуктов и услуг ООН), или различные таксономические системы интернета, такие как категории сайта "My Yahoo".

Основные компоненты OWL включают классы, свойства и индивидуальные элементы.

Классы

Классы – это основные блоки онтологии OWL. Класс – это концепция в домене. Классы обычно образуют таксономическую иерархию (т.е. систему подкласс-надкласс).

Классы определяются с помощью элемента owl:Class. В языке OWL существует два заранее определенных класса: owl:Thing и owl:Nothing. Первый из них является наиболее общим и включает все, второй – это пустой класс. Любой класс, определяемый пользователем, является подклассом класса owl:Thing и надклассом класса owl:Nothing. Примеры классов в области банковского дела могут включать классы Счет ( Account ) или Клиент ( Customer ).

Пример класса OWL:

<owl:Class rdf:ID="SavingsAccount">
  <rdfs:subclassOf rdf:resource="#Account"/>
</owl:Class>

Код в примере указывает, что элемент SavingAccount – это класс, являющийся подклассом класса Account.

OWL поддерживает шесть основных способов описания классов. Самый простой – это класс с именем ( named ). Другие типы – это классы пересечений ( intersection ), объединений ( union ), дополнений ( complement ), ограничений ( restrictions ) и классы перечислений ( enumerated ). В примере представлены два из этих способов описания классов: класс ограничений определяет SavingAccount как подкласс класса с именем Account.

Свойства

Свойства включают две основные категории:

  • свойства объекта (Object properties), которые связывают индивидуальные элементы между собой;
  • свойства типов данных (Datatype properties), которые связывают индивидуальные элементы со значениями типов данных, такими как целые числа, числа с плавающей запятой и строки. Для определения типов данных OWL использует схему XML.

Свойство может включать домен и некоторую область, связанную с ним. Любое свойство попадает в одну из следующих категорий:

  • функциональная: для любого объекта свойство может принимать только одно значение (например, возраст, рост или вес человека);
  • обратно-функциональная: два различных индивидуальных элемента не могут иметь одно и то же значение. Например, у каждого человека свой уникальный номер банковского счета или так называемый SSN (social security number);
  • симметричная: если свойство связывает элемент А с элементом В, то из этого можно сделать вывод, что оно также связывает элемент В с элементом А. Примеры симметричных свойств включают выражения типа "является братом (сестрой)" или "такой же, как";
  • транзитивная: если свойство связывает элемент А с элементом В, а элемент В с элементом С, то можно предположить, что оно также связывает элемент А с элементом С. Например, если А выше В, а В выше С, то А выше С.

К классам и свойствам могут применяться различные ограничения. Например, ограничения мощности множества указывают на число связей, в которых может участвовать класс или индивидуальный элемент.

Индивидуальные элементы

Индивидуальные элементы – это элементы классов; свойства могут связывать их друг с другом. Например, индивидуальный элемент Smith может быть описан как элемент, принадлежащий классу Person (индивидуум). Свойство hasEmployer (имеет работодателя) может связывать его с другим индивидуальным элементом – Webify Solutions, указывая, таким образом, что Smith работает в компании Webify Solutions.

Индивидуальный элемент OWL

<owl:Thing rdf:about="SmithAccount">
  <rdfs:type="#Account"/>
</owl:Class>

Элемент rdf:type – это свойство RDF, которое связывает индивидуальный элемент с тем классом, к которому он принадлежит. Пример указывает, что элемент SmithAccount принадлежит к типу Account.

На рис. 20.5 показаны основные блоки онтологии OWL.

Онтология OWL, описывающая организационную структуру компании Webify Solutions

Рис. 20.5. Онтология OWL, описывающая организационную структуру компании Webify Solutions

Источник: Будущее Web – за семантикой [10]