Веб-сервисы и Семантическая Сеть

Ссылочный блог

Веб-сервисы и Семантическая Сеть

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

Поскольку семантическая организация становится все более динамичной, разработчикам веб-сервисов важно быть в курсе новейших технологий и быть готовыми к изменениям в отрасли.

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

Что такое Семантическая Сеть и как она влияет на веб-сервисы?

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

Компьютерная программа не может понять содержание, понимая содержание любого документа, будь то веб-сайт или файл. Он может делать некоторые выводы на основе меток HTML или XML, но для понимания и оценки значения и семантики каждой метки требуется человек-разработчик. Что касается компьютеров, то существующий WWW — это полный беспорядок. К счастью, выход есть: семантическая организация.

В представлении Тима Бернерса-Ли [упоминается переводчиком ниже — ссылка на автора дана им в виде явного URL в тексте статьи], семантическая организация была бы своего рода расширением www, состоящим из информации, понятной машинам. Эта новая мировая ткань станет мощной благодаря набору новых стандартов, разработанных Консорциумом WWW (W3C). По мере того как семантические организации будут приобретать динамику, как человеческие, так и программные агенты смогут использовать значительное количество информационных ресурсов. Другими словами, программные агенты со временем научатся читать веб.

Подобно тому, как Semantic Organisation является расширением традиционной WWW, Semantic Organisation Services [назовем их просто SW или SWS] также расширяют концепцию традиционных веб-сервисов (Рисунок 1). Была создана программа, которая может найти необходимую дверь или реестр, например UDDI, список доступных веб-сервисов. Эта программа может найти онлайн-сервис без помощи человека, но не может понять, как его использовать или даже зачем. Язык WSDL (WSDL) предоставляет инструменты для описания взаимодействия между [коммуникацией] и веб-сервисами, а семантическая маркировка показывает, что делает сервис и как он это делает.

Эволюция сети WWW. ecm-journal.ru

Рисунок 1. Эволюция www.

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

ЧИТАТЬ ЕЩЁ:  С чего начать учить PHP особенности синтаксис и идеи для первых проектов

● Необходимость поиска услуг (обнаружение)

Во-первых, программа должна быть способна сама найти (или обнаружить) требуемый онлайн-сервис. Обратите внимание, что ни WSDL, ни UDDI не позволяют программе понять, что должна делать конкретная веб-служба с точки зрения клиента. С другой стороны, сервисы Semantic Web могут предоставить описание своих свойств и функциональности, чтобы программа могла понять, для чего они используются.

Необходимость вызова услуги (вызов)

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

Несколько услуг должны использоваться вместе (комбинироваться).

Программа должна уметь выбирать необходимые онлайн-сервисы и комбинировать их для достижения своих целей. Эти службы должны тесно [бесшовно] взаимодействовать друг с другом, чтобы общий результат был приемлемым решением для поставленной задачи. Поэтому программные агенты смогут создавать совершенно новые услуги, комбинируя сервисы, уже доступные во Всемирной паутине.

Необходимо знать, что происходит после начала оказания услуги (мониторинг)

Программный агент должен уметь определять [проверять] свойства конкретной службы и следить за ее выполнением. Некоторые службы могут выполняться в течение длительного времени, и агент должен иметь возможность контролировать работу службы.

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

Также можно создать своего рода персонального агента, чтобы использовать возможности Интернета на благо конечного пользователя. Например, такой персональный агент может организовать вечеринку по случаю дня рождения при минимальном участии пользователя (см. рис. 2). Такой агент может преследовать высокоуровневую языковую цель пользователя — подготовить вечеринку по случаю дня рождения, самостоятельно комбинируя услуги заказа, покупки и доставки. Когда все это делается автоматически, пользователь экономит время и деньги.

Семантическая сеть в действии. ecm-journal.ru

Рисунок 2: Использование Семантической паутины персональными агентами.

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

Как сейчас обстоят дела в области Семантической Сети?

Ключевые спецификации, необходимые для создания Семантической паутины, уже созданы в рамках консорциума W3C. RSS 1.0 (RDF Site Summary), основанный на спецификации RDF (Resource Description Framework), уже несколько лет используется для обмена новостями и ресурсами о событиях. OWL [перевод с DAML+OIL], язык, полученный на основе сетевой онтологии, находится в стадии разработки, и уже имеется рабочая версия. [На момент перевода этой статьи OWL уже является официально одобренной технологией W3C].

ЧИТАТЬ ЕЩЁ:  20 советов и рекомендаций по работе с данными в Google Analytics

Параллельно с разработкой стандартов появляются и области применения этих технологий. Уже созданы инструменты для создания и редактирования документов RDF, хранения семантических данных, вывода логических знаний из метаданных и визуализации метаданных. Создание Семантической паутины основано на огромном количестве исследований и разработок, выполненных в лабораториях таких компаний, как Nokia, BT и Hewlett-Packard.

А что делается в сфере Семантических веб-сервисов?

В целом, стандартизация услуг SD следует за развитием самой Семантической паутины. К сожалению, это также означает, что ND-сервисы находятся на еще более ранней стадии развития, чем Семантическая паутина. Исследователями и разработчиками были предложены различные спецификации для создания и использования семантически «интеллектуальных» [intelligent] веб-сервисов. Какая из этих спецификаций станет стандартом — вопрос открытый на момент написания этой статьи.

Семантические веб-сервисы. ecm-journal.ru

Рисунок 3: Семантические веб-сервисы: иерархия языков.

RDF является основным фундаментом, на котором строится Семантическая паутина. Уже появляются разработки, приближенные к концепции SW-сервисов, основанных на RDF и спецификации RDF-schema. Кроме того, некоторые реальные сервисы, такие как MusicBrainz (www.musicbrainz.org), уже предоставляют SWS-ориентированные интерфейсы прикладного программирования (API) на основе RDF. Хотя MusicBrainz не отвечает всем вышеперечисленным требованиям к SW-сервисам, эти API можно рассматривать как важный шаг в направлении создания SW-сервисов.

Еще одной заметной спецификацией является язык разметки агентов (DAML), разработанный DARPA, и связанная с ним онтология SW-услуг под названием DAML-S. Разработанный группой исследователей в рамках программы DARPA, язык DAML имеет гораздо более богатую синтаксическую структуру, чем RDF.

DAML позволяет специфицировать достаточно сложные свойства объектов и отличительные свойства, такие как эквивалентность и уникальность. Поэтому он гораздо более выразителен, чем его предшественники RDF. Являясь узкоспециализированной реализацией DAML, язык DAML-S был создан как необходимый стандарт для создания SW-сервисов. Если WSDL может только рассказать агенту, как работает сервис, то DAML-S может описать, что этот сервис предлагает клиенту и как его использовать. В этом смысле он дополняет WSDL и предоставляет недостающую информацию агентам для автоматического обнаружения и запуска службы.

Основываясь на DAML, W3C поручил рабочей группе по сетевой онтологии создать стандарт для взаимоприемлемого языка сетевой онтологии. Полученный язык OWL в настоящее время находится в стадии разработки. [См. также примечание выше].

Другой цикл исследований и разработок был сосредоточен на системе моделирования WSMF, которая является еще одной системой для создания SW-сервисов. Это было предложено в качестве инструмента для создания SW-сервисов. Он частично основан на разработанном IBM языке WSFL (Web Services Flow Language), XML-языке для описания комбинированных вторичных операционных процессов веб-сервисов.

ЧИТАТЬ ЕЩЁ:  13 главных преимуществ Laravel

К настоящему времени спецификация DAML-S привлекла значительное внимание со стороны академического и исследовательского сообществ. Однако, возможно, будет создан эквивалент языка Owl, который станет стандартом де-факто для создания SW-сервисов. В настоящее время разработчики не собираются использовать SW-сервисы в практических целях. Однако в ближайшем будущем начнут появляться публичные сервисы семантических организаций.

Как можно готовиться к появлению Семантических веб-сервисов?

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

● Постоянно обновлять информацию

Самый простой и дешевый способ узнать о семантическом развитии — посетить основные сайты по этой теме. Консорциум W3C (www.w3.org/2001/sw) координирует все имеющиеся официальные спецификации. Кроме того, на веб-сайте DAML (www.daml.org) есть способы использования, инструменты, онтологии и другие полезные ресурсы для определения семантических меток.

На ежегодных конференциях встречаются (полностью или частично) рабочие группы всех видов, занимающиеся семантическими организациями. На XII Международной конференции www в Будапеште (www.www2003.org) есть много предложений, лекций и семинаров по SW-сервисам. 2-я Международная конференция по семантической паутине (ISWC2003.SemanticWeb.org) — еще одна из самых важных конференций по семантике. Кроме того, он предлагает отличные возможности для сотрудничества [Сеть] и исследований.

Исследовательские статьи и книги на эту тему появляются практически ежедневно. Поскольку разработчики ориентируются на создание веб-сервисов, все больше внимания уделяется следующему поколению веб-сервисов: семантическим веб-сервисам.

Разработка приложений сегодня предвосхищает появление семантических организаций.

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

● Игра с технологиями.

Многие инструменты роста, доступные сегодня, бесплатны, а некоторые проекты предлагают приложения с открытым исходным кодом. Консорциум W3C поддерживает связи со многими разработчиками бесплатных инструментов, а коммерческие инструменты можно найти на сайте semanticweb.org (www.semanticweb.org).

Растет число приложений, которые демонстрируют бизнес-ценность семантических организаций и SD-сервисов. Программа TAP (Tap.stanford.edu) предоставила поисковую систему Интернета и создала демонстрационную поисковую систему.

Подведём итог

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

Оцените статью