Языки описания онтологий. Основные синтаксические структуры: классы, отношения, аксиомы
6.1. Архитектура метаданных в World Wide Web
Документы, метаданные, связи
Когда вы переходите по ссылке URL, то получаете нечто. Мы будем называть это нечто ресурсом Сети. Часто под ресурсом понимается документ, поскольку в Сети много читабельных (удобных для чтения человеком) документов - HTML-страниц, PDF-документов и т.п. Иногда ресурс - это просто некий объект, когда полученный ресурс имеет машинопонятный вид или обладает скрытым внутренним состоянием.
В рамках этого раздела термины "ресурс", "объект" и "документ" являются синонимами.
Неотъемлемой характеристикой любого ресурса Сети является сопровождающая его информация. Эту "сверхинформацию", или информацию об информации (о ресурсе), принято называть метаданными.
Под метаданными будем понимать машинопонятную информацию о веб-ресурсах и других сущностях.
Термин "машинопонятная" является ключевым. Речь идет о понимании информации программными агентами. Причем "понимании" с одной целью - использовать информацию для решения задач, возложенных на них (агентов) пользователем.
Метаданные должны иметь хорошо определенную ясную структуру и семантику.
Пример 1. Метаданные.
Объект, извлеченный из сети по протоколу HTTP, может иметь дополнительную информацию (метаданные):
- дата создания или дата прекращения действия;
- владелец;
- другая информация.
Таким образом, в Сети есть данные - ресурсы, есть метаданные - информация о ресурсах. Эта информация, в свою очередь, тоже может рассматриваться как данные (ресурс).
Приведем два постулата (А1 и А2), на которых основана архитектура метаданных Сети.
А1. Метаданные - это данные (другими словами, информация об информации - это тоже информация).
Поскольку метаданные - это данные, то они могут храниться в ресурсе (могут быть представлены как ресурс). То есть любой ресурс Сети может хранить как данные, так и метаданные о себе или о других ресурсах. На практике в Сети существует 3 способа передачи/получения метаданных:
- метаданные хранятся и передаются внутри документа (тег HEAD в HTML, данные о документе MS Word);
- сообщение метаданных происходит во время HTTP ( GET, POST или PUT ) передачи;
- метаданные хранятся в каком-то другом документе.
Итак, метаданные могут храниться внутри самого документа, внутри другого документа либо передаваться вместе с документом средствами протокола HTTP.
Форма метаданных
Метаданные состоят из высказываний о данных и при представлении имеют форму имени (или типа высказывания) и набора параметров.
А2. Архитектура, представляемая метаданными, является набором независимых высказываний (утверждений).
Как следствие, при группировке двух и более высказываний об одном ресурсе они объединятся логическим " И ". Альтернативные высказывания являются независимыми, а их наборы представляют собой неупорядоченные множества.
Конечно, высказывания можно комбинировать и другим способом, используя сложные синтаксические правила, но основной формой представления является неупорядоченный список, элементы которого связаны логическим " И ".
Наиболее распространенной формой высказывания является следующая модель:
Ресурс - атрибут - значение
Здесь ресурс - это объект, о котором фиксируется высказывание, атрибут - некоторое свойство или параметр объекта, значение представляет некоторое значение из области значений атрибута (или диапазона значений атрибута данного объекта).
Пример 2. Модель "Ресурс - атрибут - значение".
E-mail - Date - 01.01.2006 E-mail - From - Vasya
В общем виде высказывание может быть выражено так:
(A u1 p q ...),
где А - имя (или идентификатор) типа высказывания (такие как Author, Date и т.п.), u1 - URI ресурса, о котором делается высказывание, p, q, - другие параметры, зависящие от типа высказывания, в том числе и представляющие значение атрибута.
Здесь можно провести аналогию с языками программирования. При описании метаданных фиксирование высказывания можно сравнить с вызовом функции в процедурном языке.
В объектно-ориентированных языках программирования объект, для которого вызывается метод, имеет особое место среди других параметров (аргументов вызова). Для примера достаточно вспомнить ключевое слово " this " в C++. Также и в метаданных объект, о котором фиксируется высказывание ( u1 ), имеет особое место.
В ООП набор методов (функций), которые можно вызвать для данного объекта, ограничен (интерфейсами или типом объекта). При описании метаданных набор типов высказываний, которые возможно сделать для данного объекта, потенциально не ограничен и определяется только выбором словаря.
Пространство имен атрибутов
Значения атрибутов и отношений могут сильно варьироваться, они могут задаваться спецификацией архитектуры или протокола. Но значения атрибутов могут быть определены для нужд одного конкретного приложения. Поэтому набор отношений и имен атрибутов должен быть легко расширяемым, а следовательно, он должен быть расширяемым децентрализовано. Пространство URI подходит для определения имен атрибутов.
Пример 3. Словари с именами атрибутов.
- HTML-элементы внутри элемента HEAD ;
- заголовки HTTP-запроса, уточняющие атрибуты объекта.
(оба словаря определены внутри конкретных спецификаций, написанных на английском языке)
Связи
Отношение между двумя ресурсами будем называть связью. Связь представляется тройкой
(A u1 u2),
где А - тип отношения, U1 - URI первого ресурса, U2 - URI второго ресурса.
Связи являются основой навигации в Сети. Они могут использоваться для построения структур внутри WWW, а также для создания семантической Сети, в которой могут быть представлены знания об окружающем мире. Иными словами, связи могут применяться для определения структуры данных (в этом случае они являются метаданными), но могут быть использованы и как форма представления данных.
Связи, как и прочие метаданные, могут быть переданы тремя (указанными выше) способами.
Одна из основных задач, решаемых при проектировании архитектуры метаданных Сети, состоит в том, чтобы сделать информацию самоописывающейся (self-describing).
Однако узким местом системы всегда является способ определения семантики метаданных и данных, применяемых внутри системы. Например, семантика метаданных заголовков e-mail и HTTP-сообщений определяется вручную на английском языке в виде спецификаций соответствующих протоколов. Эта семантика понятна людям (конечно, тем, кто знает английский). Чтобы теперь перейти к семантике, понятной машине, нужно использовать подходящий логический язык или язык представления знаний. Тогда семантика (точное значение) некоторого высказывания может быть выражена в терминах других отношений (более абстрактных концептов логического языка).
Преимущество самоописывающейся информации состоит в том, что нет необходимости согласовывать значение каждого термина централизованно, стандартизировать семантику высказываний. Язык RDF позволяет описывать метаданные о любых ресурсах Сети (и даже о сущностях, находящихся за ее пределами).
RDF
RDF - язык представления информации о ресурсах WWW. В частности, RDF служит для представления метаданных, связанных с ресурсами Сети, таких как "заголовок", "автор", "дата последнего изменения страницы". Но RDF может использоваться и для представления информации о ресурсах "второго типа", на которые можно только ссылаться (или идентифицировать в Сети при помощи URI), но невозможно непосредственно получить к ним доступ через Сеть.
Может оказаться, что в некоторых случаях для управления метаданными достаточно использовать XML и XML Schema (либо вообще ограничиться подэлементом HEAD элемента HTML). Но этот подход слабо масштабируется: при увеличении объема метаданных, усложнении их структуры управление метаданными, построенными на основе XML Schema, становится трудоемкой задачей, для решения которой и предназначен RDF.
Модель данных RDF. RDF-граф
Базовой структурной единицей RDF является коллекция троек (или триплетов), каждая из которых состоит из субъекта, предиката и объекта (S,P,O). Набор триплетов называется RDF-графом. В качестве вершин графа выступают субъекты и объекты, в качестве дуг - предикаты (или свойства). Направление дуги, соответствующей предикату в данной тройке (S,P,O), всегда выбирается так, чтобы дуга вела от субъекта к объекту.
Каждая тройка представляет некоторое высказывание, увязывающее S, P и O.
Первые два элемента RDF-тройки (субъект и предикат) идентифицируются при помощи URI. Объектом же может быть как ресурс, идентифицируемый при помощи URI, так и RDF-литерал (значение).