Будущее Web - за семантикой

Онтологии формируют основы нового пути понимания он-лайн данных

Семантические Web-технологии способствуют эффективному управлению знаниями и автоматизации жизненного цикла рентабельного продукта для ускорения разработки и интеграции процессов.

Нэвин Бэлэни, технический архитектор, Webify Solutions

Основная область деятельности Нэвина Бэлэни (Naveen Balani) - конструирование и разработка сетей и продуктов на основе J2EE. Он - автор многочисленных статей по ESB, СОА, JMS, архитектуре Web-сервисов, CICS, AXIS, DB2, XML Extender, WebSphere Studio, MQSeries, беспроводным устройствам Java и D2B Everyplace для Palm, J2ME, MIDP, Java-Nokia, Visual Studio .Net и беспроводной синхронизации данных. Большинство этих статей были опубликованы на портале IBM developerWorks.



25.06.2007

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

Семантические технологии Web очерчивают общие рамки, позволяющие осуществлять обмен данными и их многократное использование в различных приложениях, корпорациях и даже сообществах. Семантические технологии Web - это эффективный способ представления данных в интернете. Такую структуру также можно символически отождествить с базой данных, которая связана в глобальном масштабе с содержанием документов в интернете. Причем эта связь осуществляется способом, понятным компьютерам. Семантические технологии представляют значения с помощью онтологии и обеспечивают аргументацию, используя связи, правила, логику и условия, оговоренные в онтологии.

Семантические технологии Web

К семантическим технологиям Web относятся следующие:

  • Глобальная схема имен (URI);
  • Стандартный синтаксис описания данных (RDF);
  • Стандартные способы описания свойств данных (схема RDF);
  • Стандартные способы описания связей между объектами данных (онтология, определяемая с помощью онтологического языка Web (Web Ontology Language)).

Ниже более подробно рассматривается каждая из этих технологий.

Глобальная схема имен - URI

URI - это просто идентификатор Web, т.е. адреса, начинающиеся с http или ftp. Любой пользователь может создать URI, но права собственности на них четко организованы, поэтому они представляют идеальную базовую технологию для построения глобальной сети. Фактически, интернет является именно такой структурой: все, что имеет URI, считается находящимся в глобальной сети. Любой объект, схема или модель данных семантической сети должны иметь собственный уникальный адрес (URI).

Универсальный указатель ресурсов (Uniform Resource Locator, сокр. URL) - это URI, который, помимо идентификации ресурса, указывает на способ действия или представления ресурса путем описания основного механизма доступа к нему или его положения в сети. Например, URL http://www.webifysolutions.com - это URI, который идентифицирует ресурс (домашняя страница компании Webify Solutions) и указывает, что его представление (т.е. текущий код HTML домашней страницы как набор закодированных символов) можно получить по протоколу HTTP с сетевого www.webifysolutions.com.

Универсальное имя ресурса (Uniform Resource Name, сокр. URN) - это URI, который идентифицирует ресурс с помощью имени в определенном пространстве имен. Оно позволяет говорить о ресурсе без использования его местоположения или снятия ссылок на него. Например, URN urn:ISBN:1-0-7666-98-0 - это URI, который, аналогично номеру ISBN, позволяет упоминать книгу, но при этом не указывает, где и как ее можно приобрести.

Стандартный синтаксис описания данных - RDF

RDF - это спецификация, которая определяет модель представления мира и синтаксис для сериализации и обмена этой модели. Консорциум всемирной сети (World Wide Web Consortium, сокр. W3C) разработал XML-сериализацию для RDF. RDF XML - это стандартный формат обмена для RDF в семантической сети, хотя он не является единственным. Например, Notation3 - это отличная тестовая альтернативная сериализация.

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

В листинге 1 представлен пример RDF XML.

Листинг 1. Пример 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 в листинге 1 несет информацию о ресурсе, в данном случае это компания 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.

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

Рис. 1. Граф RDF, описывающий контактную информацию компании Webify Solutions
RDF graph describing Webify Solutions contact details

Стандартные способы описания свойств данных - схема RDF

Схема RDF - это семантическое расширение RDF. Она обеспечивает механизмы описания связанных ресурсов, а также, собственно, этих связей.

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

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

Ссылку на полный пакет моделей данных и спецификаций схемы RDF консорциума W3C можно найти в разделе Ресурсы.

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

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

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

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

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

  • Полная версия онтологического языка 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.


Компоненты онтологического языка Web на основе OWL

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

Классы

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

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

В листинге 2 представлен пример класса OWL.

Листинг 2. Пример класса OWL
<owl:Class rdf:ID="SavingsAccount">
 <rdfs:subclassOf rdf:resource="#Account"/>
</owl:Class>

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

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

Свойства

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

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

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

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

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

Ссылку на полный пакет спецификаций W3C OWL можно найти в разделе Ресурсы.

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

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

В листинге 3 приведен пример индивидуального элемента OWL.

Листинг 3. Индивидуальный элемент OWL
<owl:Thing rdf:about="SmithAccount">
 <rdfs:type="#Account"/>
</owl:Class>

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

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

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

Значение онтологии для бизнеса

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

Более того, если организация использует множественные приложения от различных поставщиков, то придется копировать одни и те же модели во все базы данных приложений. Например, банк предлагает набор различных продуктов для обслуживания разнообразных категорий клиентов. Корпоративному клиенту может потребоваться услуга по обнаружению мошенничества, а обычному потребителю окажется достаточно функциональных возможностей интерактивного осуществления банковских операций с помощью интернета. Обычно банк приобретает приложения у нескольких поставщиков, но каждое из них повторяет одну и ту же общую информацию - номера счетов, имена клиентов и т. д. - в своей базе данных. По мере того как организация добавляет новые продукты для удовлетворения растущих запросов бизнеса, одна и та же избыточная информация распространяется по всей корпорации.

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

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


Преимущества семантических сетей для интернета

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

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


Роль и значение семантических технологий для СОА

Для того чтобы соответствующим образом моделировать и управлять СОА (сервис-ориентированной архитектурой), корпоративные архитекторы должны поддерживать активное представление услуг, доступных для корпорации. В частности, для выявления и организации своих услуг, архитекторы должны использовать передовой опыт в моделировании и объединении услуг с использованием метаданных, преобразовывать бизнес-логику в метаданные для динамического объединения и осуществлять управление с помощью метаданных. Онтология обеспечивает очень мощный и гибкий способ для агрегирования, визуализации и нормализации этого слоя услуг с помощью метаданных.

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

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


Заключение

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

Ресурсы

Научиться

Получить продукты и технологии

  • Webify Solutions: партнер IBM, Webify предоставляет среду интегрированных сервисов на основе онтологии, которая помогает компаниям соответствовать требованиям государства и быстро меняющегося рынка при достижении и поддержки семантического взаимодействия сетей в пределах корпорации, отдельных приложений и доменов партнеров.
  • Интегрированный набор инструментов IBM для разработки онтологии.

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Мобильные приложения, XML, Web-архитектура
ArticleID=236182
ArticleTitle=Будущее Web - за семантикой
publish-date=06252007