Общее определение понятия семантика - это изучение значений. (Слово
семантика происходит от греческого понятия 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
Схема 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.
Свойство может включать домен и некоторую область, связанную с ним.
Любое свойство попадает в одну из следующих категорий:
- функциональная: для любого объекта свойство может
принимать только одно значение (например, возраст, рост или вес
человека);
- обратно-функциональная: два различных
индивидуальных элемента не могут иметь одно и то же значение. Например,
у каждого человека свой уникальный номер банковского счета или так
называемый SSN (social security number)1;
- симметричная: если свойство связывает элемент А с
элементом В, то из этого можно сделать вывод, что оно также связывает
элемент В с элементом А. Примеры симметричных свойств включают выражения
типа "является братом (сестрой)" или "такой же, как";
- транзитивная: если свойство связывает элемент А с
элементом В, а элемент В с элементом С, то можно предположить, что оно
также связывает элемент А с элементом С. Например, если А выше В, а В
выше С, то А выше С.
К классам и свойствам могут применяться различные ограничения.
Например, ограничения мощности множества указывают на число связей, в
которых может участвовать класс или индивидуальный элемент.
Ссылку на полный пакет спецификаций 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
Значение онтологии для бизнеса
IT-системы организуют значения с помощью реляционных моделей данных,
плоских файлов, объектно-ориентированных моделей или специально
разработанных моделей данных. Время от времени, в связи с изменениями
бизнес-требований, возникает необходимость добавления новых элементов и
связей в реляционные модели данных или объектно-ориентированные модели.
Более того, если организация использует множественные приложения от
различных поставщиков, то придется копировать одни и те же модели во все
базы данных приложений. Например, банк предлагает набор различных
продуктов для обслуживания разнообразных категорий клиентов.
Корпоративному клиенту может потребоваться услуга по обнаружению
мошенничества, а обычному потребителю окажется достаточно функциональных
возможностей интерактивного осуществления банковских операций с помощью
интернета. Обычно банк приобретает приложения у нескольких поставщиков, но
каждое из них повторяет одну и ту же общую информацию - номера счетов,
имена клиентов и т. д. - в своей базе данных. По мере того как организация
добавляет новые продукты для удовлетворения растущих запросов бизнеса,
одна и та же избыточная информация распространяется по всей корпорации.
Целый ряд услуг является общим для всех приложений, например, просмотр
банковских транзакций и электронных переводов. Каждая из этих услуг также
дублируется в формате, присущем тому или иному приложению, что ведет к
необходимости осуществления точечной интеграции.
Если же банк принимает подход, основанный на онтологии, то он может
собирать и представлять общую информацию о продуктах в нейтральной по
отношению к языку форме и сохранять эту информацию в центральном
репозитории. С помощью такой общей адаптированной онтологии организация
может обеспечивать единое стандартизированное представление данных для
всех приложений. Такое стандартизированное представление позволяет точно
извлекать необходимую информацию и без проблем осуществлять корпоративную
интеграцию, поскольку бизнес-процессы и различные источники данных могут
быть связаны ("мэппированы") друг с другом с помощью общей мета-модели.
Таким образом, общая онтология исключает необходимость в точечной
интеграции и упрощает интеграцию приложений, сокращая избыточность данных
и обеспечивая одно и то же семантическое значение для всех приложений, что
облегчает поддержание функционирования банка и его обновление.
Преимущества семантических сетей для интернета
Интернет - это крупнейший из когда-либо существовавших информационных
репозиториев, причем его содержание все время растет и представлено на
самых разнообразных языках и практически во всех областях знаний. Но в
конечном счете становится все труднее находить смысл во всем этом
содержимом. Поисковые системы способны находить информацию, содержащую
определенные слова, но эта информация не всегда оказывается именно той,
что требуется. Какой-то элемент всегда оказывается упущенным. Поиск
основан на содержании страниц, но не на семантическом значении
этого содержания или информации о странице.
Как только будет создан семантический интернет, он даст возможность
разметки всего содержания интернета, описания каждого элемента информации
и обеспечения семантического значения этих элементов. Таким образом,
поисковые системы становятся более эффективными, чем сейчас, а
пользователи могут находить именно ту информацию, которая им необходима.
Организации, оказывающие различные услуги, способны индексировать их с
особым значением. А пользователи будут в состоянии оперативно находить эти
услуги, используя программные средства на основе интернета, и использовать
их для своей пользы или в сочетании с другими услугами.
Роль и значение семантических технологий для СОА
Для того чтобы соответствующим образом моделировать и управлять СОА
(сервис-ориентированной архитектурой), корпоративные архитекторы должны
поддерживать активное представление услуг, доступных для корпорации. В
частности, для выявления и организации своих услуг, архитекторы должны
использовать передовой опыт в моделировании и объединении услуг с
использованием метаданных, преобразовывать бизнес-логику в метаданные для
динамического объединения и осуществлять управление с помощью метаданных.
Онтология обеспечивает очень мощный и гибкий способ для агрегирования,
визуализации и нормализации этого слоя услуг с помощью метаданных.
Онтология - это сеть концепций, связей и ограничений, которые
обеспечивают контекст для данных и информации, а также для процессов.
Онтология способствует улучшению обнаружения услуг, моделирования,
объединения, посредничества и семантического взаимодействия сетей. Она
усовершенствует для пользователей способы поиска, изучения и
взаимодействия со сложными информационными пространствами метаданных.
Бизнес-онтология - это формальная спецификация бизнес-концепций и их
взаимосвязей, которая улучшает машинные причинно-следственные связи и
взаимодействия. Бизнес-онтология связывает системы, используя метаданные,
во многом аналогично тому, как база данных объединяет разрозненные данные.
Такая абстракция обеспечивает гибкость и подвижность, поскольку позволяет
легко менять интерфейсы, а также добавлять новые ресурсы и пользователей,
причем даже во время работы системы.
Семантика - это будущее сервис-ориентированной интеграции.
Семантические технологии обеспечивают существование определенного уровня
абстракции над существующими IT-технологиями. Этот уровень позволяет
осуществлять связь данных, содержания и процессов между различными видами
бизнеса и изолированными IT-структурами. Наконец, с точки зрения
взаимодействия людей, семантические технологии добавляют новый уровень
семантических порталов, которые обеспечивают гораздо более аналитические,
соответствующие теме и контексту взаимодействия, чем те, которые доступны
с помощью традиционных точечных подходов к интеграции, использующихся в
информационных порталах.
Заключение
В данной статье были представлены основные стандарты, составляющие
технологии семантических сетей, а также причины, побуждающие организации
использовать эти технологии. С помощью данных технологий организации могут
создавать единое унифицированное представление данных во всех приложениях,
что позволяет точно находить необходимую информацию, упрощает
корпоративную интеграцию и интеграцию СОА, сокращает избыточность данных и
обеспечивает единство семантических значений во всех приложениях. Все это,
в свою очередь, облегчает разработку, поддержку и обновление приложений в
пределах корпорации.
Ресурсы
Учебные
- Роль онтологии в автономных компьютерных системах (The
role of ontologies in autonomic computing systems). L. Stojanovic,
J. Schneider, A. Maedche, S. Libischer, R. Studer, Th. Lumpp, A.
Abecker, G. Breiter и J. Dinger. (IBM Research Journal, 2004).
- Введение в Jena (Introduction
to Jena). Philip McCarthy (developerWorks, June 2004).
- Основы XML и технологий RDF для управления знанием (Basic
XML and RDF techniques for knowledge management). Uche Ogbuji
(developerWorks, March 2002).
- Конструирование основ сервис-ориентированной архитектуры с помощью
технологии J2EE (Design
service-oriented architecture frameworks with J2EE technology).
Naveen Balani (developerWorks, January 2004).
- Предметная классификация с помощью DITA и SKOS (Subject
classification with DITA and SKOS). (developerWorks, October 2005).
- Архитектура Web на портале developerWorks.
- Блоги на портале developerWorks.
- Спецификации OWL,
RDF и
RDF
Schema.
- Язык Notation3.
Продукты и технологии
- Webify Solutions:
партнер IBM, Webify предоставляет среду интегрированных сервисов на
основе онтологии, которая помогает компаниям соответствовать требованиям
государства и быстро меняющегося рынка при достижении и поддержки
семантического взаимодействия сетей в пределах корпорации, отдельных
приложений и доменов партнеров.
- Интегрированный набор инструментов IBM для разработки онтологии (IBM Integrated
Ontology Development Toolkit).
Об авторе
Основная область деятельности Нэвина Бэлэни (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. С Нэвином Бэлэни можно
связаться по адресу naveenbalani@rediffmail.com.
Примечание
1
SSN - индивидуальный номер, который присваивается каждому
налогоплательщику в США (прим. переводчика).