
- •3. Пространство имен 32
- •5. Приложения xml 39
- •10. Онтология 79
- •11. Список литературы 85
- •Определение и основные принципы World Wide Web
- •Проблемы современного Web.
- •Семантические технологии Web
- •Стандартный синтаксис описания данных – rdf
- •Стандартные способы описания свойств данных – схема rdf
- •Онтология
- •Отображение хмl-документа
- •Синтаксис хмl-документа
- •Составные части корректно сформированного хмl-документа
- •Задание атрибутов для элементов
- •Правила для корректного задания значений атрибутов
- •Форма записи инструкции по обработке
- •Форма записи раздела cdata
- •Несколько примеров xml-документов.
- •Пространство имен
- •Понятие пространства имен
- •Пример применения пространства имен.
- •Особенности отображения в Internet Explorer
- •Синтаксис языка
- •Основные элементы
- •Индексы
- •Приложения xml
- •Элементы xml Schema
- •Определение простых элементов
- •Перечисляемые значения
- •Определение комплексных элементов
- •Введение
- •Простые примеры
- •Синтаксис основных элементов xsl.
- •Использование шаблонов
- •Вставка скриптов в результирующий html-документ
- •Обработка xml-документов с помощью JavaScript.
- •Полезный синтаксис
- •Предикаты
- •Операции равенства
- •Операции Сравнения
- •Булевы Выражения
- •Числовые Выражения
- •Библиотека функций
- •Функции набора элементов
- •Числовые Функции
- •Строковые Функции
- •Определение rdf
- •Rdfs – rdf схема
- •Список литературы
Проблемы современного Web.
Современная сеть World Wide Web давно стала неотъемлемой частью нашего мира. Более того, у многих пользователей Интернет отождествляется с Web, и другие его сервисы воспринимаются как нечто неотъемлемое от Всемирной паутины. И сам Web, и его технологии настолько привычны, что пользователь чаще всего принимает их не задумываясь. А экран компьютера – не только поверхность, на которой отображаются данные. На сегодняшний день это также граница, надежно разделяющая средства доставки Web-данных и средства их обработки.
Сегодня Интернет – это хранилище информации. Оно ориентировано на человека и совершенно не приспособлено для автоматизированной обработки знаний. Компьютеры могут получать и отображать Web-страницы, но не понимают их содержание.
А обработка информации на сегодняшний день представляет серьезную проблему. Установлен закон увеличения информации в обществе – он представляет собой экспоненциальную функцию y=ex, что и позволило говорить об «информационном взрыве», то есть экспоненциальном росте информации в обществе. Информационный кризис (взрыв) имеет следующие проявления CITATION Тим01 \l 1049 :
появляются противоречия между ограниченными возможностями человека по восприятию и переработке информации и существующими мощными потоками и массивами хранящейся информации;
существует большое количество избыточной информации, которая затрудняет восприятие полезной для потребителя информации;
возникают определенные экономические, политические и другие социальные барьеры, которые препятствуют распространению информации. Например, по причине соблюдения секретности часто необходимой информацией не могут воспользоваться работники разных ведомств.
Эти причины породили весьма парадоксальную ситуацию – в мире накоплен громадный информационный потенциал, но люди не могут им воспользоваться в полном объеме в силу ограниченности своих возможностей. Для того чтобы справиться с лавиной информации, нужны надежные и удобные средства ее хранения и, что является основным, ее поиска и обработки.
Эта проблема в полной мере относится к Web, как хранилищу и источнику информации для большого количества пользователей.
С доставкой информации дело обстоит неплохо. Выверенный годами стек протоколов TCP/IP, и алгоритмы маршрутизации обеспечивают надежное соединение по не всегда надежным, а зачастую и вовсе ненадежным линиям. Идея протокола HTTP, «венчающего» стек протоколов TCP/IP, настолько удачна, что за годы своего существования этот протокол не претерпел радикальных изменений. Однако, отобразив Web-станицу на экране, компьютер «забывает» о том, что он вычислительная машина. Интерпретацией Web-данных занимаются только люди. Возможности автоматической обработки Web-информации очень незначительны[ CITATION Вей \l 1049 ].
Проблема 1 – традиционный Web является синтаксическим – информация, доступная посредством Web, ориентирована в основном на человеческое восприятие, программное обеспечения занимается доставкой информации и, далеко не всегда, проверкой его синтаксиса. Чтобы обработать тексты, имеющиеся в Интернет, программа должна обладать интеллектом.
Самым востребованным и интеллектуальным Web-сервисом, на сегодняшний день, являются поисковые системы, основанные на технологии полнотекстового поиска. Все поисковые запросы выполняются с помощью индекса, содержащего описание вхождений слов из обработанных поисковой системой документов. Сбор сведений о доступных документах, которые потом используются для построения индекса, осуществляют так называемые сетевые роботы (crawlers). Сетевые роботы, начиная с некоторой Web-страницы, рекурсивно обходят ресурсы Интернет, извлекая ссылки на новые документы из получаемых документов. Из-за размеров информационного Web-пространства индексы получаются огромными, как правило, индексируется лишь часть Web-пространства, методы работы с индексами требуют больших вычислительных мощностей, результаты поиска содержат много несоответствующей интересам пользователя информации. Но, тем не менее, поисковые системы это единственные Web-сервисы, которые работают с семантикой, то есть с содержимым документа.
Обращаясь к Web, пользователи могут действовать по различным сценариям. Если нужна статья или справочная информация, пользователь без труда найдет ее, воспользовавшись поисковым сервисом. Но возьмем другой пример приведенный в [ CITATION Вей \l 1033 ]: «покончив с делами, пользователь собрался провести отпуск на Черном море и хочет узнать, какая же температура ожидается в ближайшие дни на южном побережье Крыма. Найти эти сведения также не составляет труда, достаточно выяснить адреса (URL) серверов с информацией о погоде. Вроде бы жаловаться на Web не приходится, однако в данном примере есть смысл рассмотреть действия пользователя более детально. Все, что его интересует – это одно-два числа. Но что приходится предпринять, чтобы получить их? Во-первых, необходимо выяснить адреса Web-страниц с прогнозами. Во-вторых, надо найти информацию о южной части Крыма. В-третьих, надо хотя бы бегло просмотреть эти документы. Пользователь читает об атмосферном давлении, получает множество сведений (которое его, кстати, совершенно не интересуют) и, наконец, находит то, что искал. Не слишком ли велики накладные расходы? В поисках всего одного атрибута пользователю пришлось найти и изучить целый документ. Не лучше ли было бы задать некоему серверу нового поколения запрос: «Температура воздуха на южном берегу Крыма на следующей неделе» и пусть Web-приложение «расстарается» – найдет нужный сервер, выделит и перешлет клиенту сведения о температуре».
К сожалению, качественно выполнить грамматический разбор текста на естественном языке на сегодняшний день невозможно. Один из путей получения точного ответа на свой запрос, формализация ресурсов в Web.
Если обрабатываемый документ является размеченным, то есть явным образом выделены индексируемые слова, то он получает семантически значительно более богатое содержание. В спецификации HTML, начиная с версии 2.0, появился элемент разметки <META>, описывающих именованные свойства документов и указывающих на некоторую информацию о документе в целом. К сожалению, использование этого элемента не получило широкого распространения. Одним из препятствий стало некорректное использование этого элемента, когда метаописания HTML-страницы использовались для привлечения к ней внимания, рекламы, а не для представления свойств документа. В результате многие из поисковых систем отказались от использования метаописания. Другой существенной причиной было отсутствие простого общепризнанного стандарта, фиксирующего существенные «поисковые» свойства HTML-документов. Разные системы, сообщества предлагали и использовали разные имена свойств документа. Многие из использовавшихся свойств преследовали иные цели, нежели описание «поисковых» свойств документов.
Таким образом, хотя поисковые системы и работают с содержимым документа, семантики его они не понимают. Еще одно следствие этого – множество не относящихся к запросу ссылок. Например, если ввести в качестве поискового запроса слова «кузнец» – будут найдены ссылки и на документы с описанием профессии, и на документы где присутствуют Кузнецовы и прочие варианты этой распространенной фамилии, общее количество найденных документов будет составлять десятки тысяч.
Проблема 2 – проблема поиска информации – помимо уже описанных проблем поиска информации, традиционный (синтаксический) Web не позволяет:
обрабатывать сложные запросы, подразумевающие базовые знания – например, «Найти информацию о животных, использующих звуковую локацию, но не являющихся ни летучей мышью, ни дельфином»;
находить информацию в репозитариях данных – базы данных, библиотечные электронные каталоги и т.д.;
делегировать решение сложных задач «Web-агентам» – «Закажи мне на следующий выходной отдых, где-нибудь в теплом месте, не очень далеко и где говорят на русском или английском языке».
Проблема 3 – проблемы HTML – одним из главнейших элементов технологии Web является язык разметки документов HTML, при помощи которого формируется информационное содержимое Web. Долгое время возможности этого языка были вполне достаточны для создания, оформления документов и формирования между ними гиперсвязей. Сегодня же информационная нагрузка в Интернет и типы решаемых в Web задач существенно изменились, и для разработчиков Web-приложений все неудобнее становятся присущие этому языку ограничения [ CITATION Але \l 1033 ].
HTML не позволяет использовать дополнительные инструкции, при помощи которых можно было бы придумывать новые варианты отображения документа или размечать информацию произвольного типа. Браузер просто «не узнает» их и в лучшем случае игнорирует.
HTML с самого начала предназначался только для указания способа оформления фрагментов текста, структура же документа и его содержимое для программ просмотра абсолютно безразличны. Из-за этого сегодня организация механизмов сложного поиска в Web, учитывающих семантику и особенности расположения текста внутри документа, невозможна.
Автор документа может использовать инструкции языка в любой последовательности и по своему усмотрению – процесс проверки правильности создания HTML-документов практически никак не контролируется. Это облегчает труд автора, но вносит дополнительную неопределенность при разработке программ-анализаторов документа.
Способ форматирования документов определяется в HTML лишь «декларативно» – то, как реально будет отображен HTML-документ на конкретной машине и браузере, автор документа знать не может, и способов уточнить эту информацию средствами самого языка нет.
В HTML нельзя изменять действие одних и тех же тегов в зависимости от места их определения внутри документа (например, когда мы собираемся отображать некоторую иерархическую структуру, каждое звено которой должно форматироваться по-разному).
Хотя набор HTML-элементов был существенно расширен по сравнению с первой версией, язык HTML по-прежнему не пригоден для представления многих типов документов. Ниже приведены примеры документов, которые не могут быть адекватно описаны с помощью языка HTML.
Документ, который не содержит типовых компонентов (заголовков, абзацев, списков, таблиц и т.д.) Например, в языке HTML отсутствуют элементы, необходимые для отображения музыкальных символов или математических уравнений.
База данных, такая как каталог книг. Вы можете использовать HTML-страницу, чтобы хранить и отображать информацию из статической базы данных (например, перечень книг и их описание). Однако, если бы вам понадобится осуществить сортировку, фильтрацию, поиск и обработку информации, придется снабдить каждую из составных частей информации соответствующей меткой (как в программе, работающей с базами данных, такой как Microsoft Access). В языке HTML не предусмотрено соответствующих элементов.
Документ, который вы хотите представить в виде иерархической структуры. Допустим, вы пишете книгу и хотите разбить ее на части, главы, разделы А, В, С и т.д. В дальнейшем программа может использовать данную структуру документа для создания оглавления, оформления различных уровней в структуре с помощью всевозможных стилей, извлечения определенных разделов, а также обработки информации иными способами. Однако элемент типа заголовок в HTML содержит лишь описание собственно текста. Например:
<Н2> Содержимое Web-сайта </Н2>
Поскольку внутри элемента типа заголовок вы не задаете вложенные элементы текста, которые относятся к разделам документа, эти элементы не могут быть использованы для представления иерархической структуры документа [ CITATION Але \l 1033 ].
Для устранения этих и некоторых других ограничений стандарта в его последующих версиях (HTML 3.2, HTML 4, HTML 5) были добавлены некоторые дополнительные теги и предложены спецификации CSS, CSS2, DOM, несколько облегчающие нелегкий труд создателей Web-страниц. Но не была решена (и не могла быть решена) главная проблема – расширяемости и универсальности HTML. Длительный и сложный процесс утверждения новых стандартов HTML зачастую приводил к тому, что они устаревали, так и не успев появиться. Язык HTML описывает довольно узкий класс документов, а типов информации, используемой в Web, но не поддерживаемой ни одним из браузеров, в последнее время появляется гораздо больше.
Таким образом, основные проблемы World Wide Web связаны, главным образом, с тем, что до сих пор Web-технологии ориентировались исключительно на поддержку человеческой деятельности по поиску и навигации в информационном пространстве Web-ресурсов. «Всемирная паутина» следующего поколения, которую Тим Бернерс-Ли и его коллеги называют Semantic Web, должна быть рассчитана на машинную обработку информации. Создание осмысленной «семантической паутины» в соответствии с предложенной W3C концепцией Semantic Web могло бы решить все перечисленные проблемы поиска и обмена информацией.
Консорциум W3C
Консорциум Всемирной сети (World Wide Web Consortium – W3C), созданный в октябре 1994 года, призван раскрыть весь потенциал Всемирной сети путём разработки общих протоколов, способствующих её развитию и взаимодействию внутри неё. W3C насчитывает около 400 членов со всего мира. Консорциум пользуется международным признанием благодаря своему вкладу в развитие Сети.
Хотя W3C издаёт спецификации, которые технически являются просто предложениями (или, в терминах W3C, рекомендациями) для дальнейшей реализации, они имеют свойство превращаться в стандарты де-факто. Спецификации получают статус рекомендации после того, как рабочий проект спецификации (Working Draft) становится рекомендацией-кандидатом (Candidate Recommendation), редакцией документа, передаваемой на рассмотрение разработчикам с целью тестирования и внедрения, а затем и предложенной рекомендацией (Proposed Recommendation), документом, по которому ожидается голосование членов W3C.
Semantic Web.
Semantic Web начала развиваться на основе такого же общественного движения «снизу», как World Wide Web десять лет назад. Самые разные люди создают для нее ПО с открытым кодом. В течение следующих 10 лет это произведет новую революцию в нашем бизнесе, общественной жизни и образовании.
Тимоти Бернерс-Ли
Семантика (от греч . semantikos – обозначающий) – 1) значения единиц языка; 2) раздел языкознания, изучающий значение единиц языка, прежде всего слов. Таким образом, общее определение понятия семантика – это изучение значений.
Существенным свойством World Wide Web является его универсальность. Вся мощь понятия гипертекста выражается следующими словами: «Все можно связать со всем». До сих пор наиболее быстро Web развивался именно как носитель документов для людей, а не информации и данных, допускающих автоматическую обработку.
В конце 90-х годов прошлого века первый разработчик Web и основатель WWW Консорциума (W3C) Тим Бернерс-Ли сформулировал новое понятие – Semantic Web – то, каким он видит будущее Интернет, и инициировал исследования в этом направлении. В основе предполагаемого им будущего лежит способность компьютеров не только читать, но и понимать содержание Интернет-ресурсов, причем достигнуть этого, по мнению Бернерса-Ли, мы должны не через создание программ искусственного интеллекта, моделирующих деятельность человека, а через использование средств выражения семантики данных и их связей [ CITATION Tim \l 1033 ]. Семантические технологии Web помогают выделять полезную информацию из данных, содержания документов или кодов приложений, опираясь на открытые стандарты. Если компьютер понимает семантику документа, то это не означает, что он просто интерпретирует набор символов, содержащихся в документе. Это значит, что компьютер понимает смысл документа [ CITATION Нэв \l 1033 ].
Проект Semantic Web, начатый в 2001 году, находится в стадии активной разработки, старается интегрировать в себя все уже имеющиеся на данный момент подходы, с целью создать действительно универсальное средство семантического поиска информации. Большое внимание отводится архитектуре и модели распределенной среды, архитектуре метаданных. Как сказано в определении, которое предоставлено на домашней странице проекта – «Semantic Web является абстрактным представлением данных во Всемирной паутине, которое базируется на стандартах RDF и других стандартах, имеющих распространение» [ CITATION ФИА \l 1049 ].
В общем виде Semantic Web (по Тиму Бернерсу-Ли) – это:
интероперабельность данных между программными приложениями и организациями;
набор интероперабельных стандартов для обмена знаниями;
архитектура для взаимосвязанных сообществ и словарей.
Интероперабельность (англ. interoperability) – это способность различных независимых друг от друга информационных систем и служб к взаимодействию в процессе работы, несмотря на различия в программных, технических и других средствах, которые поддерживают их ресурсы и обеспечивают удаленный доступ к ним.
Semantic Web – это идея организовать данные в Web так, чтобы компьютеры могли их использовать, а не только показывать, чтобы различные программы разных производителей могли эффективно работать с данными в сети. Для этого нужно только правильно организовать данные на Web-сайтах – разработать правила формирования ресурсов, которые смогут понять и использовать программы. Для этого семантика, то есть определенная информация о смысле документов, должна быть добавлена в описание самих документов на языке, понятном программному обеспечению, так же как и гипертекстовая разметка HTML. Semantic Web – это не какая-то отдельная сеть, а расширение уже существующей, в ней информация снабжена точно определённым смыслом, позволяющим человеку и компьютеру успешно взаимодействовать.
С точки зрения архитектуры Semantic Web можно рассматривать как три яруса:
базис, который состоит из уникальной глобальной идентификации ресурса (URI), метаданных для декларирования фактов о ресурсах, и общего языка для выражения метаданных и знаний, обеспечивающего общие словари метаданных и правила для добавления новых метаданных и знаний;
базовый сервис, например логический вывод и запросы к метаданным, разъяснение таких выводов, управление доверием, агенты, поисковые системы, и т.д.;
сервисы приложений, например сервис агентства путешествий.
Метаданные – в общем случае метаданные – это данные, характеризующие или поясняющие другие данные. Например, запись «123456» сама по себе недостаточно выразительна. А если выражению «123456» сопоставлено достаточно выразительное имя «почтовый индекс» (что уже является метаданными), то в этом контексте оно более осмысленно: можно извлечь информацию о местоположении адресата, имеющего данный почтовый индекс. Поскольку для большинства людей разница между словами «данные» и «информация» есть только с философской точки зрения и не существенна с практической точки зрения, то имеют место следующие определения: метаданные – это информация о данных; метаданные – это информация об информации. В более простой и популярной формулировке: метаданные – это данные о данных [ CITATION Вор06 \l 1049 ].
Этот термин в широком смысле слова используется для любых «данных о данных»: именах таблиц, колонок в таблице, программ и т. п. Метаданные – это данные из более общей формальной системы, описывающей заданную систему данных.
Наиболее известные системы метаданных
Дублинское ядро (Dublin Core Metadata Element Set Reference Description) – употребляется в качестве базового средства формирования метаданных для описания широкого класса цифровых объектов.
LOM (Learning Object Metadata) – «Метаданные учебного объекта» – стандарт, для описания учебных ресурсов.
Форматы MARC (Machine-Readable Catalogue or Cataloguing) – общая часть наименования ряда библиотечных коммуникативных форматов, применяемых для создания электронных каталогов.
CSDGM – стандарт для цифровых геопространственных данных.
METS – формат Государственного регистра баз и банков данных РФ.
Фактически Semantic Web позволит сделать более доступными все web-ресурсы для автоматической обработки, формирование формализованных аннотаций – метаданных – позволит существенно повысить релевантность поиска. Возможность использования глобальных словарей, механизмов логического вывода обеспечит, с одной стороны, необходимую свободу в выборе схем метаданных, с другой стороны, должный уровень интероперабельности – способности информационных систем понимать и обрабатывать любую информацию без обращения к ее авторам.
Такой подход, в свою очередь, создает условия для дальнейшего развития web-сервисов и web-агентов.
Web-сервисы, [Web Services, WS] – средства автоматизации решения разнородных задач в Интернете с использованием Web-приложений. Если на начальных этапах существования Интернета Web-сервисы ограничивались обеспечением задач поиска документов и данных, то в настоящее время с их помощью решаются многочисленные и весьма сложные комплексные задачи автоматизированного администрирования развитыми распределенными сетями и сайтами, поддержки разного рода деловых процессов, электронной коммерции, обеспечения внутрикорпоративного документооборота, предоставления информационных ресурсов и услуг пользователям Интернета и т.д. С учетом сказанного в среде разработчиков Web-сервисов наметились тенденции создания унифицированных технологий, включая интеграцию Web-приложений под определенные комплексы типовых задач, ориентированных на конкретные категории пользователей. [ CITATION Вор06 \l 1049 ]
С помощью web-сервисов пользователи получат доступ к базам данных, репозитариям и другим информационным системам, смогут осуществлять поиск среди ранее недоступных им ресурсов. Более того, только широкое использование web-сервисов позволит развиваться web-агентам.
Web-агент – информационная система, обладающая такими свойствами, как CITATION Тим01 \l 1049 :
– автономность – способность функционировать без вмешательства человека, контролируя свои действия и внутреннее состояние;
– социальность – способность функционировать в сообществе агентов и обмениваться с ними информацией с помощью некоторого языка коммуникаций;
– реактивность – способность воспринимать состояние среды и своевременно реагировать на происходящие в ней изменения;
– внутренняя активность– способность проявлять инициативу, т.е. не только реагировать на внешние события, но и генерировать цели и действовать рационально для их достижения.
Именно сочетание работы web-сервисов и web-агентов позволит решить одну из проблем современного Web – выполнение сложных запросов пользователя, предусматривающих не только поиск информации, но и выполнение конкретных действий. В приведенном выше примере – «Закажи мне на следующий выходной отдых, где-нибудь в теплом месте, не очень далеко и где говорят на русском или английском языке» – web-агент должен сначала выполнить поиск «места», удовлетворяющего запросу, затем связаться с web-сервисами туристических агентств для заказа билетов, гостиницы и т.д.1
Semantic Web привнесёт структуру в смысловое содержание web-страниц, тем самым создав среду, в которой web-агенты, переходя со страницы на страницу, смогут без особого труда выполнять замысловатые запросы пользователей.
Важным аспектом будет возможность обмена «доказательствами», записанными в унифицированном языке Semantic Web, то есть web-агент должен не только представить требуемую информацию, но и объяснить, как эта информация получена и насколько она достоверна. Для это могут, например, использоваться цифровые подписи, представляющие собой зашифрованные блоки данных и подтверждающие, что информация предоставлена известным надёжным источником. Всегда хочется быть уверенным, что платёжное требование, по которому нужно перечислить деньги интернет-магазину, – не какая-то фальшивка, сделанная смышленым студентом. Программы не должны быть слишком доверчивым к утверждениям, прочитанным ими в недрах Semantic Web, до тех пор, пока они не убедятся в достоверности источника информации.
Возвращаясь к примеру с запросом о погоде – вполне реален случай, когда информация о температуре нашлась в нескольких источниках. Почти во всех температура указана в пределах 27-28о, а в одной утверждается, что в Крыму в ближайшие дни температура опустится до -30о. Скорей всего это ошибка, но при обработке запроса принимает решение web-агент и руководствоваться здравым смыслом система он не может, поскольку на сегодняшний день это понятие не формализовано. Механизм цифровой подписи позволит проверить, кто является автором сведения о погоде и определить каким из них можно верить. Если поставить в соответствие каждому сертификату некий «уровень доверия», то и в дальнейшем можно будет сразу отбрасывать не надежные источники.