Журнал "Компьютерра" N741-742
Шрифт:
А "не так", собственно, только одно — набор элементов, предоставляемых HTML, слишком мал и однообразен для описания богатой семантики современной веб-страницы — даже с учетом всех благих рекомендаций по отделению представления от содержания и использованию таблиц стилей (CSS).
Ведь все элементы HTML, в общем-то, предназначены для описания только и именно текста, статьи, документа; все это богатство (абзац, заголовок, таблица и пр.) отнюдь не рассчитано на страницы сложной структуры, состоящие из многих сегментов — верхнего меню, бокового меню, подвала, панели ссылок… то есть всего, что составляет практически любой современный сайт. Таблицы стилей скрывают от нас, что с точки зрения языка разметки мы смотрим не на "страницу с меню и блоком навигации", а на сотню одинаковых блоков или (упаси господи) здоровенную таблицу из полутора сотен ячеек. Еще более проблемный элемент — собственно ссылка, основа и связующее звено гипертекста.
Опять же, с точки зрения семантики любая
То есть изначальная (и нынешняя) структура HTML, во-первых, не учитывает разделения любой вебстраницы на "приложение" (навигацию, служебные и информационные элементы) и его "контент"; вовторых, эта самая структура неспособна адекватно отобразить отношения между частями сложного контента, действуя лишь в терминах "это идет за этим" и "это стоит рядом с тем". Соответственно, любая маломальски нетривиальная задача по работе с информацией в Вебе не может быть выполнена автоматизированным средством анализа, а только — человеком, отличающим оформление от контента, существенную информацию от факультативной, определяющим значимость ссылок "на глаз".
Тим Бернерс-Ли и его коллеги осознали эти проблемы уже довольно давно и, в общем и целом, сделали вывод, что "с самого начала надо было не так".
Вот это самое "не так", которое одно время казалось будущей заменой нынешнего Веба, и получило название Semantic Web — Семантической Паутины.
В чем же радикальное отличие Прекрасного Нового Веба, каким он видится тем, кто "знает, как надо"?
Разберемся для начала формально, по спецификациям и стандартам W3C.
Итак, предполагается, что Семантический Веб состоит из ресурсов, информация на которых описана на языке RDF (Resource Description Framework).
Грубо говоря, в каждом случае составляется нечто вроде анкеты. В случае порнокартинки [Этан Цукерман (Ethan Zuckerman) утверждает, что любая востребованная среда привлекает порнографию и социальных активистов;если нет порнографии — среда не работает, нет активистов — работает, но плохо.], например, будут описаны характеристики самого изображения, изображенных личностей и их занятий в достаточно строгом, иерархическом формате, который может быть однозначно разобран алгоритмом [Вообще говоря, распространено мнение, что RDF — подмножество языка разметки данных XML. На самом деле это не так: XML лишь один из форматов, в котором может быть сохранено RDFописание; другой, например, формат — Notation 3.Модель данных RDF, в отличие от XML, является не иерархической ("автор" является частью "картинки", являющейся частью "набора картинок"), а предикатной (автор и картинка находятся в отношениях "является автором", картинка и галерея — в отношениях "входит в"); графически данные, описанные в RDF, представляются графом, а не деревом]. Ресурс, информация на котором описана таким образом, гораздо более гибок в использовании, нежели традиционный HTML-сайт: например, в гипотетическом примере с порнокартинкой можно одним движением запросить у ресурса его данные, отсортированные и отобранные по любому из свойств этих картинок, — причем в отборе и сортировке пользователь будет полагаться не на создателей ресурса и его встроенный поисковик, а только на своего интеллектуального (программного) агента, который переберет все доступные данные, проанализирует их описания и выберет/отсортирует в соответствии с запросом пользователя.
Но главная цель и сущность Семантического Веба не в том, чтобы информация с отдельного ресурса была представлена в логичном, машиночитаемом виде, а в синергическом эффекте, происходящем от наличия глобальной сети ресурсов, "говорящих" на общем формальном языке. Переходя от уровня отдельного ресурса на уровень всеобщей Сети, наш гипотетический любитель клубнички может получить от своего интеллектуального агента биографии понравившихся моделей (включая сразу и ссыл ки на покупку соответствующей продукции) или, скажем, описания по применению
Чтобы все это работало, понадобятся еще некоторые компоненты, кроме собственно языка описания данных. Нужны общие термины-предикаты допустимые разделы и "поля" для "анкет" разных типов. Например, если в RDF-документе записано, что он использует схему данных[Описанную, к примеру, в формате RDF Schema. Форматов существует несколько, но главное не формат, а декларация намерений: схема может быть вообще никак не описана, а только определяться уникальным идентификатором. Например, схема дополнительных полей для описания блога от Яндекса не имеет публичного описания, но любой документ, в котором есть URL-идентификатор этой схемы — "http://blogs.yandex.ru/schema/foaf/", — декларирует, какое значение он придает предикатам вроде "blogActivity" или "bio".], обозначаемую таким-то уникальным идентификатором (как правило, таким идентификатором служит адрес в Вебе, где выложена сама схема или документация по ней), это сразу говорит интеллектуальному агенту, какие поля он может встретить (и позволяет агенту определить, знает ли он способ обработки таких типов документов).
Следующий компонент, позволяющий интеллектуальному агенту уверенно чувствовать себя в сети данных, — это онтологии (классификации и описания свойств) общих понятий и отношений между ними.
Ссылки на онтологии позволяют интеллектуальным агентам понимать, что если рассматриваемые данные описывают "страну", то у нее может быть ссылка на ровно одно данное типа "столица", несколько ссылок на "граничащие страны" и т. п. Другой пример (возвращаясь к нашей клубнике): если разные ресурсы используют в качестве названий… хм… жанров не просто текстовые строки, а ссылки на термины одной общей онтологии порножанров, лежащей где-то в Сети, то программный интеллектуальный агент сможет на всех этих ресурсах выполнять едино образные запросы с гарантированным результатом, независимо от того, какими словесами обозначены жанры в пользовательском интерфейсе. Самый известный и "официальный" (в смысле наличия W3C-стандарта), хотя и не единственный язык описания онтологий называется OWL (Web Ontology Language)[Один из создателей языка о несоответствии названия аббревиатуре: "Ну, может же язык, созданный ради логичности и последовательности, быть хоть в чем-то непоследовательным?"]. В более ранних описаниях Семантического Веба OWL фигурирует как "единственно верный" язык описания онтологий, но реальность часто корректирует стандарты, делая их более вариативными, — сегодняшний FAQ на сайте W3C указывает лишь, что "необходим язык описания онтологий, например OWL". Другие более-менее распространенные языки — SKOS, созданный европейским семантическим сообществом, и DAML+OIL, выращенный в недрах DARPA.
Наконец, очевидно, что нужны и стандартные средства обработки RDF-данных — описания запросоввыборок [Эту роль берет на себя язык SPARQL (во многом подобный языку SQL, используемому для запросов к обычным реляционным базам данных).] и систем логических выводов[Существует предложенный, но пока не принятый стандарт Rule Interchange Format (RIF).].
Итак, сводим воедино прекрасную картину Семантического Веба: все ресурсы Сети выглядят как "анкеты" на языке RDF, излагающие смысл, а не внешний вид; во всех имеются ссылки на схемы-описания полей этих анкет и словари общих терминов. Пользователь же вооружен не пассивным "браузером"просмотрщиком [Кстати, для установки аналогий в головах читателей — на официальном языке стандартов W3C браузер тоже называется "пользовательским агентом"], а активным интеллектуальным агентом, работающим на уровне данных (независимо от их источника), а не страниц. То есть: из онтологии популярных фотосайтов вытащил порносайты, отобрал с них изображения по восьмидесяти критериям вкуса пользователя и вывел аккуратным списочком, доступным для дальнейшей сортировки, фильтрации и вду-у-у-умчивого просмотра.
Вот почему сэр Тимоти считает, что "Гуглу капец": буде все "интересненькое" в мире опишется формальными RDF-описаниями, методы взаимодействия с Вебом станут (могут стать) принципиально другими. Изменятся (могут измениться) даже самые что ни на есть базовые вещи: единица "браузинга" по Семантическому Вебу уже не имеет ничего общего со "страницей" (единственным документом в каком бы то ни было формате, определяемым своим адресом-URL) — она может быть как маленькой частичкой огромного "документа", так и, наоборот, огромным описанием, составленным из фрагментов десятков документов-описаний со всей Сети. По сути (в экстремуме, в идеальной сети данных), загнуться или сильно изменить бизнес-модель придется не только поисковикам, но и блоговым платформам, онлайн-магазинам, фотохостингам… Останутся лишь "голые" производители, потребители и хостеры "голых" же данных и шустрые интеллектуальные агенты между ними.