Казахстан, Алматы, Гимназия им. Ахмета Байтурсынова №139, 2008 |
Семантический веб и микроформаты
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.
Источник: Использование технологии 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.
<?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 показан управляемый граф связей, представляющий ту же информацию.
увеличить изображение
Рис. 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: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:Thing rdf:about="SmithAccount"> <rdfs:type="#Account"/> </owl:Class>
Элемент rdf:type – это свойство RDF, которое связывает индивидуальный элемент с тем классом, к которому он принадлежит. Пример указывает, что элемент SmithAccount принадлежит к типу Account.
На рис. 20.5 показаны основные блоки онтологии OWL.
Источник: Будущее Web – за семантикой [10]