XML и RDF — современные Internet-стандарты, служащие для обеспечения семантической интероперабельности в Web. При этом XML затрагивает вопросы, связанные только со структурой документов. RDF более приспособлен для обеспечения семантической интероперабельности, поскольку предлагает модель данных, которую можно расширить таким образом, чтобы она охватывала более совершенные методики представления онтологии.

Феномен World Wide Web стал возможен благодаря тому, что набор широко распространенных стандартов практически обеспечил интероперабельность на различных уровнях. До сих пор Web была ориентирована на работу человека, но Web следующего поколения, которую Тим Бернерс-Ли и его коллеги называют Semantic Web, должна быть рассчитана на машинную обработку информации [1].

Формирование Semantic Web станет возможным только при условии обеспечения более высокого уровня интероперабельности. Необходимы стандарты не только для синтаксической формы документов, но и для их семантического наполнения. Самой значительной среди предпринятых консорциумом W3C инициатив, связанных со стандартизацией, стали XML и RDF, которые поддерживают семантическую совместимость.

В статье рассказывается о роли онтологий в архитектуре Semantic Web. Кратко описаны основные элементы XML и RDF и показано, почему использование XML как единственного инструментария для поддержки семантической совместимости в перспективе станет неэффективным. Здесь также приводится иллюстрация применения данного метода к языку Ontology Interchange Language [2].

Онтологии: описание концепций предметной области

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

Онтологии используются в электронной коммерции для поддержки автоматизированного обмена данными между покупателями и продавцами, для вертикальной интеграции рынков (например, VerticalNet.com), а также для повторного использования описаний различными электронными торговыми точками. Механизмы поиска также применяют онтологии для выборки страниц с синтаксически различными, но семантически одинаковыми словами.

Онтология, как правило, содержит иерархию концепций предметной области и описывает важные свойства каждой концепции с помощью механизма «атрибут — значение». Связи между концепциями могут быть описаны с помощью дополнительных логических утверждений. Наконец, константы (такие как «Январь») сопоставляются одной или нескольким концепциям (таким как «Месяц»).

В языке OIL онтологии содержат определения свойств (slot-def) и определения классов (class-def). На рис. 1 приведен пример онтологии. Определения Slot-def описывают отношения между двумя объектами. Class-def связывает имя класса с его описанием и содержит ряд компонентов.

  • В качестве типа определения (definition type) может быть указано либо defined («определяемый»), либо primitive («примитивный»). Для типов defined класс полностью описывается в определении класса.
  • Ограничение свойства (slot constraint) указывает допустимые значения для свойства применительно к экземпляру класса.
  • subclass-of связывает определяемый таким образом класс со списком, состоящим из одного или нескольких выражений классов (class expression), т.е. имен классов, ограничений свойств или составленных из них булевых выражений произвольной сложности. Новый класс является подклассом сразу всех классов, заданных этими выражениями.

У ограничения свойства есть несколько компонентов.

  • Имя (name) — строка, называющая свойство, на которое накладывается ограничение.
  • Значение-типа (value-type) — список, состоящий из одного или нескольких выражений классов, которые представляют собой диапазон ограничений для свойства применительно к определяемому классу. Например, если класс имеет свойство eats («ест») при наличии ограничения свойства value-type animals («животные»), описываемые экземпляры класса «едят только животных».
  • Имеет-значение (has-value) — список, состоящий из одного или нескольких выражений классов, в которых все экземпляры класса, определенные посредством некоторого свойства, должны быть связаны этим свойством по крайней мере с одним экземпляром каждого выражения класса в списке. Например, если класс имеет свойство eats («ест») с ограничением свойства has-value zebra, wildebeest («зебра», «гну»), тогда каждый экземпляр нового класса «ест» по крайней мере один экземпляр класса «зебра» и один — класса «гну». Он может также «есть» экземпляры других классов, скажем, gazelle («газель»).

И XML, и RDF вносят свой вклад в фундамент Semantic Web. Вместе с тем, RDF предлагает более адекватные механизмы применения языков представления онтологии, таких как OIL, для решения задачи семантической интероперабельности Web.

Грамматика XML

В отличие от языка HTML, создававшегося для гипертекстовых документов с фиксированной структурой, XML [3] предназначен для разметки документов произвольной структуры.

Корректным образом составленные XML-документы содержат сбалансированное дерево вложенных открывающих и закрывающих тегов, каждый из которых может включать в себя несколько пар «атрибут-значение». Поскольку фиксированного словаря тегов, равно как и набора их допустимых комбинаций не существует, теги могут определяться независимо для каждого приложения. В XML 1.0 это делается с помощью определения типа документа DTD (document type definition), накладывающего ограничения на используемые теги и указывающего, каким образом должна быть организована их вложенность внутри документа. DTD задает грамматику, которая указывает допустимые комбинации и вложения имен тегов, имен атрибутов и так далее. В настоящее время W3C активно работает над тем, чтобы заменить DTD на определения XML Schema [4, 5].

На рис. 2 приведен пример описания структуры части онтологии с рис. 1. Язык XML — прекрасное средство определения грамматики, и поскольку для описания одного и того же информационного наполнения могут использоваться различные грамматики, XML допускает различные представления. Информация в последнем определении класса на рис. 2, к примеру, может быть выражена в абсолютно иной форме:

branch

is-part-of
tree

XML используется для разных целей.

  • Представление синтаксиса для других языков разметки. К примеру, язык Synchronized Multimedia Integration Language (SMIL) [6].
  • Семантическая разметка Web-страниц. XML-представление может использоваться на Web-странице вместе с таблицей стилей XSL, которая определяет корректный вывод различных элементов [7].
  • Единый формат обмена данных. XML-представление может передаваться между двумя приложениями как объект данных.

Важно отметить, что DTD определяет только синтаксические соглашения; любая предполагаемая семантика находится вне сферы действия спецификации XML.

RDF: описание ресурсов Web

Модель Resource Description Framework, недавно получившая статус рекомендации W3C, имеет своей целью стандартизовать определение и использование метаданных, описывающих ресурсов Web [8]. Впрочем, RDF столь же хорошо подходит и для представления данных.

Базовый строительный блок в RDF — тройка «объект — атрибут — значение», которую часто записывают в виде A(O,V). Читай: объект O имеет атрибут A со значением V. Эту связь можно также представить как ребро с меткой A, соединяющее два узла, O и V: [O]-A—>[V]. Данная нотация весьма полезна, поскольку RDF позволяет менять местами объекты и значения. Таким образом, любой объект может играть роль значения, что в графическом представлении соответствует цепочке из двух ребер с метками. Граф на рис. 3, к примеру, представляет следующие три отношения в формате A(O,V):

hasName
(?http://www.w3.org/employee/id1321?,
«Jim Lerners»)
authorOf
(?http://www.w3.org/employee/id1321?,
 ?http://www.books.org/ISBN0012515866?)
hasPrice
(?http://www.books.org/ISBN0012515866?, «$62»).

Кроме того, RDF допускает форму представления, в которой любое выражение RDF в тройке может быть объектом или значением, т. е. графы могут быть как вложенными, так и линейными. В Web это позволяет нам, к примеру, выражать сомнение или согласие с выражениями, созданными другими людьми. Наконец, это позволяет указать, что данный объект имеет определенный тип, к примеру, что «ISBN0012515866» — это rdf:type book, за счет создания дуги, указывающей на определение book в схеме RDF.



hasName
(?http://www.w3.org/employee/id1321?,
«Jim Lerners»)
authorOf
(?http://www.w3.org/employee/id1321?,
?http://www.books.org/ISBN0012515866?)
hasPrice
(?http://www.books.org/ISBN0012515866?,
«$62»).

Цель RDF — предложить базовую модель данных «объект — атрибут — значение» для метаданных. Помимо этой предполагаемой семантики, описанной в стандарте лишь неформально, RDF не содержит каких-либо четких правил, ориентированных на моделирование данных. Также как и XML Schema используется для определения словаря, RDF Schema позволяет разработчикам определять конкретный словарь для данных RDF (такой, как authorOf) и указывать виды объектов, к которым могут применяться эти атрибуты [9]. Иными словами, механизм RDF Schema предоставляет базовую систему типов для моделей RDF. Эта система типов использует некоторые предопределенные термины, такие как Class, subPropertyOf и subClassOf, для схемы, ориентированной на конкретное приложение. Выражения схемы RDF также являются корректными выражениями RDF (как и выражения схемы XML — корректные выражения XML).

Объекты RDF можно определить как экземпляры одного или нескольких классов с помощью свойства type. Свойство subClassOf позволяет разработчику указывать иерархическую организацию таких классов, а subPropertyOf выполняет то же самое для свойств. Ограничения на свойства также могут быть указаны с помощью конструкций домена и диапазона, которые применяются как для расширения словаря, так и для предполагаемой интерпретации выражений RDF. Именно этот механизм мы и использовали для преобразования языка представления онтологий в RDF.

Представление знаний

Web стала первым средством обмена данными, поддерживающим связи «многие-ко-многим», и она предъявила новые требования к используемым форматам обмена.

  • Универсальные выразительные возможности. Поскольку нельзя учесть интересы всех потенциальных пользователей, формат обмена на базе Web должен позволять представлять любой вид данных.
  • Синтаксическая интероперабельность. Приложения должны иметь возможность читать данные и получать представления, с которыми они могут работать. Уровень синтаксической интероперабельности в достаточной мере высок, когда можно без труда получить синтаксический анализатор и API-интерфейсы, необходимые для манипулирования данными.
  • Семантическая интероперабельность. Одно из наиболее важных требований к формату обмена состоит в том, что данные должны быть понятными. Если синтаксическая интероперабельность неразрывна с синтаксическим разбором данных, то семантическая связана с установлением соответствия между терминами, используемыми в данных, что требует анализа содержимого.
Использование XML

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

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

Фиксированные или гибкие связи. На рис. 4 показаны два приложения, пытающиеся взаимодействовать друг с другом. Оба приложения «пришли к соглашению» об использовании и предполагаемом значении структуры документа, заданной с помощью DTD A, но прежде, чем будет начат обмен информацией, должна быть создана модель прикладной области, чтобы указать, какой вид данных будет пересылаться. (Эта модель обычно описывается в терминах объектов и отношений, как это сделано в Unified Modeling Language [10], или за счет моделирования объектов-связей [11]). Затем на основе модели предметной области по мере необходимости создается схема DTD или XML.

На рис. 5a показана простая связь principal («владелец») между двумя концепциями purchase order («заказ товара») и company («компания»). На рис. 5b представлены несколько вариантов представления этого отношения на языке XML. Определение DTD лишь описывает грамматику, и любую заданную модель предметной области в DTD можно закодировать множеством способов, поэтому между ними не остается никаких прямых соответствий. По DTD невозможно определить концепции и связь между ними, а в том случае, когда имеется, к примеру, несколько упорядоченных отношений, вариантов кодирования еще больше. Поэтому так сложно провести переработку модели предметной области по DTD. (Нужно, однако, отметить, что связь, указанная на рис. 5a, представляет корректную модель RDF).

Все выгоды использования XML в этом случае сводятся лишь к возможности повторно использовать программные компоненты, выполняющие синтаксический разбор. Это, безусловно, полезно, но такая ситуация предусматривает наличие между сторонами связи «один-к-одному» с заранее достигнутым соглашением. Для Web это решение не подходит, поскольку здесь требуется взаимодействовать с множеством партнеров, которые часто меняются.

Не панацея. XML полезен для обмена данными между теми приложениями, которым известно, что собой представляют эти данные, но не в тех ситуациях, когда часто добавляются новые партнеры. В Web постоянно появляются новые источники информации, а к существующим бизнес-соглашениям присоединяются новые партнеры. Важно также максимально сократить затраты при расширении круга партнеров, с которыми поддерживается связь. Как показывают шаги, представленные на рис. 6, использование XML и DTD (или XML Schema) для такой операции требует куда больших усилий, чем это было бы разумным.

Определение соответствия одной модели предметной области другой — задача достаточно сложная, если они обе записаны в терминах DTD. Установить прямое соответствие по различным определениям DTD невозможно, поскольку задача состоит не в том, чтобы отобразить друг на друга грамматики, а в том, чтобы найти соответствие объектов и связей между предметными областями. Таким образом, необходимо восстановить исходные модели предметной области и определить соответствия между концепциями и отношениями. (В решении этой задачи часто оказываются полезными методы, разработанные в области инженерии знаний и исследований баз данных [12, 13]). Затем, необходимо выполнить еще один шаг и определив соответствие между двумя DTD.

Что касается обмена XML-документами, соответствие предметных областей должно быть преобразовано с помощью процедур определения соответствия, таких как XSL Transformations (XSLT) для грамматик. Необходимо также предпринять дополнительные усилия, чтобы преобразовать «реконструированную» модель предметной области в XML DTD и сгенерировать процедуры соответствия для документов XML на основе установленного соответствия предметных областей. С помощью более проработанного подхода к передаче данных, нежели «чистый» XML, можно значительно сократить эти дополнительные усилия.

Использование RDF

Вложенные структуры «объект — атрибут — значение» в RDF удовлетворяют требованию поддержки универсальных выразительных возможностей для формата обмена, хотя, на первый взгляд, это совсем не очевидно. Также существуют синтаксические анализаторы RDF, не зависящие от приложения, поэтому RDF удовлетворяет требованию синтаксической совместимости.

Что же касается семантической совместимости, то RDF значительно превосходит XML. Структура «объект — атрибут» предоставляет естественные семантические единицы, поскольку все объекты являются независимыми сущностями. Модель предметной области, определяющая объекты и отношения, может быть представлена в RDF естественным образом, поэтому этапы, на которых выполняется преобразование, необязательны в той степени, как это требуется в случае с XML. Чтобы установить соответствие между двумя описаниями RDF, можно непосредственно использовать методы, созданные в области исследования представления знаний. Конечно, это не решит полностью общую задачу поддержки интероперабельности при поиске сохраняющих семантику соответствий между объектами, но применение RDF для обмена данными позволяет повторно применять множество других программных компонентов помимо синтаксического анализатора, что предлагают все XML. Более того, модель RDF (и программное обеспечение, использующее модель RDF) по-прежнему будет применяться, даже если существующий сейчас синтаксис XML изменится или исчезнет, поскольку RDF описывает уровень, не зависящий от XML.

В идеале хотелось бы получить универсальный язык представления знаний для поддержки Semantic Web, но в силу различных прагматических и технологических причин, на практике это недостижимо. Вместо этого придется работать с множеством представлений метаданных. RDF позволяет настолько широко использовать технологии представления знаний, насколько это поддерживают многообразные языки метаданных.

Расширение RDF

Напомним предложенные Брахманом три уровня систем представления знаний [14].

  • Уровень реализации, содержащий структуры данных для конкретной реализации.
  • Логический уровень, который абстрактным образом определяет логические выводы, выполняемые данной системой.
  • Эпистемологический уровень, указывающий адекватное представление примитивов для традиционной передачи знаний, которые обычно используют специалисты по инженерии знаний.

Эпистемологический уровень, как правило, определяется грамматикой, которая указывает язык предметной области, но представления примитивов также могут рассматриваться и как онтология, т. е. как объекты конкретной предметной области. При таком подходе методики моделирования предметных областей оказываются весьма удобными для определения языка представления знаний. Таким образом, эпистемологический уровень — это онтология, которая определяет термины языка представления. Определить онтологию в RDF — значит определить схему RDF, которая указывает все концепции и взаимосвязи конкретного языка.

Определение более выразительного языка онтологий

На рис. 7 показано, как механизм RDF Schema может применяться для определения элементов OIL.

Проиллюстрируем этот подход на примере онтологии с рис. 1. Определение herbivore («травоядных») использует примитив моделирования subClassOf, он представляет собой связь, аргументами которой являются объекты: класс («травоядные») и развернутое выражение класса (animal AND NOT carnivore, т. е. «неплотоядные животные»). Это выражение класса вполне можно рассматривать как объект, поскольку animal AND NOT carnivore действительно определяет новый неименованный класс.

Определение примитивов языка как онтологии выражается в виде графа RDF, представленного на рис. 7, где определены несколько свойств и классов. Класс oil:ClassExpression — это формальный (шаблонный) класс, который объединяет различные типы выражений классов для конкретных целей. oil:AND и oil:NOT — два конкретных типа выражений классов. Свойство oil:hasOperand — это вспомогательное свойство, необходимое для связи выражения класса типа оператор с другими выражениями класса. Существующее описание примитива rdfs:subClassOf расширяется так, что диапазон теперь включает в себя oil:ClassExpression (вместо простого rdfs:Class). Кроме того, расширяется само описание rdfs:Class: оно также является подклассом oil:ClassExpression (поскольку рассматривается конкретный тип выражения класса).

Используя граф из рис. 7, выражение

class-def defined herbivore
 subclass-of animal, NOT carnivore

может быть описано в RDF так, как представлено на рис. 8.

Поскольку каждая онтология (схема RDF) использует свое собственное пространство имен (мы выбрали префикс oil), термины из других онтологий можно объединить в одной RDF без какой-либо путаницы [3]. RDF задает четкую объектную структуру, поэтому на одном языке можно создавать утверждения относительно объектов, определенных в терминах другого языка. Например, мы можем объединить онтологию с утверждениями, описывающими поведение различных видов животных с помощью языка, являющегося автоматом с конечным числом состояний [15]. В XML это невозможно.

Использование OIL

Онтология предметной области определяет словарь, т. е. свойства и классы, которые могут использоваться для создания шаблонной информации в RDF. Мы предлагаем механизм для расширения модели данных RDF с помощью примитивов моделирования из любого языка онтологии. Предлагаемый подход к использованию примитивов из языка онтологии L к описанию конкретной предметной области состоит из трех шагов — таблица 1.

  • Шаг 1. Описать примитивы моделирования языка L с помощью схемы RDF (по существу, написать метаонтологию L в схеме RDF).
  • Шаг 2. Описать конкретную онтологию на L с помощью итогового документа схемы RDF.
  • Шаг 3. Использовать документы схемы RDF для описания экземпляров конкретной онтологии L, смоделированной на шаге 2.

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

Объединение языка онтологий с RDF Schema

Определение языка онтологий как расширения RDF Schema означает, что каждая онтология в виде схемы RDF корректна и в новом языке (например, процессор OIL сможет «понимать» схему RDF). Определяя новый язык максимально близко к RDF Schema, мы также добиваемся максимального уровня повторного использования существующих приложений и инструментальных средств, базирующихся на RDF. Поскольку язык онтологии, как правило, содержит словарь, не известный процессору схем RDF, добиться стопроцентной совместимости невозможно.

В OIL класс может быть подклассом булева выражения классов, но объявление оригинального подкласса RDF допускает использование в качестве значений только примитивных классов. Механизм объявлений подкласса OIL пришлось расширить. Конструкция oil:SlotConstraint необходима, для того чтобы позволить накладывать ограничения на позиции в определениях классов — еще один аспект OIL, который отсутствует в RDF Schema.

RDF следует модели «объект — атрибут — значение», поэтому было принято фундаментальное решение: каждое выражение OIL должно быть объектом. Для поддержки подвыражений мы ввели вспомогательные атрибуты, которые не соответствуют ни одному из исходных словарей OIL (oil:hasOperand, oil:hasClass и oil:hasProperty).

Основные моменты интеграции между RDF/RDF Schema и OIL определяются с помощью абстрактного класса OIL — ClassExpression. Более того, свойства в OIL реализуются как экземпляры rdf:Property или как подсвойства оригинального rdf:Property. Отношение подсвойств также выражаются средствами RDF, а именно, с помощью отношения rdfs:subPropertyOf. При этом rdf:Property расширяется с помощью нескольких свойств, которые устанавливают обратные и транзитивные отношения и количественные ограничения, которые изначально в RDF/RDF Schema были невозможны [2].

Определения классов наследуются из rdfs:Resource из спецификации схемы RDF. Классы могут быть связаны с помощью произвольных выражений классов через подклассы или отношения эквивалентности. Это позволяет обращаться к существующим классам из словарей RDFS и переопределять их в описания OIL.

Чтобы проверить гибкость предложенной модели, выполнено несколько экспериментальных реализаций, в том числе моделирование онтологии для CIA World Factbook (http://www.ontoknowledge.org/oil/). DARPA Agent Markup Language (www.daml.org) также использует основные принципы OIL.

Направления исследований

Сообщество Web сейчас рассматривает язык XML как самый важный шаг к семантической интеграции, но на наш взгляд, в длительной перспективе это не так. Семантическая интероперабельность станет обязательным условием создания Semantic Web, но этого можно добиться за счет использования RDF, а не за счет разметки XML. Модель данных RDF весьма выразительна, и для ее расширения с целью обеспечения семантической совместимости можно напрямую использовать уже существующие подходы, от искусственного интеллекта до инженерии знаний.

Литература

[1] T. Berners-Lee, Weaving the Web, Harper, San Francisco, 1999

[2] I. Horrocks et al., «The Ontology Interchange Language OIL», tech. report, Free Univ. of Amsterdam, 2000; http://www.ontoknowledge.org/oil/

[3] T. Bray, J. Paoli, and C.M. Sperberg-McQueen, «Extensible Markup Language (XML) 1.0», W3C Recommendation, Feb. 1998; http://www.w3.org/TR/REC-xml

[4] H.S. Thompson et al., «XML Schema Part 1: Structures», W3C, work-in-progress, current as of Apr. 2000; http://www.w3.org/TR/2000/WD-xmlschema-1-20000407/

[5] P.V. Biron and A. Malhotra, «XML Schema Part 2: Datatypes», work-in-progress, current as of Apr. 2000; http://www.w3.org/TR/2000/WD-xmlschema-2-20000407/

[6] P. Hoschka, «Synchronized Multimedia Integration Language (SMIL) 1.0 Spec.», W3C Recommendation, June 1998; http://www.w3.org/TR/REC-smil/

[7] J. Clark, «XSL Transformations (XSLT)», W3C Recommendation, Nov. 1999; в Web по адресу: http://www.w3.org/TR/xslt/

[8] O. Lassila and Ralph Swick, «Resource Description Framework (RDF) Model and Syntax Specification», W3C Rec-ommendation, Feb. 1999; http://www.w3.org/TR/REC-rdf-syntax/

[9] D. Brickley and R. Guha, «Resource Description Framework (RDF) Schema Specification,»W3C Candidate Recommendation, Mar. 2000; http://www.w3.org/TR/2000/CR-rdf-schema-20000327/

[10] M. Page-Jones and L.L. Constantine, Fundamentals of Object-Oriented Design in UML, Addison-Wesley-Longman, Reading, Mass., 1999

[11] R. Barker, Entity Relationship Modeling, Addison-Wesley, Boston, Mass., 1990

[12] J. Jannink et al., «An Algebra for Semantic Interoperation of Semistructured Data», Proc. IEEE Knowledge and Data Eng. Exchange Workshop, IEEE Computer Soc. Press, Los Alamitos, Calif., 1999

[13] D.L. McGuinness et al., «The Chimaera Ontology Environment», Proc. 17th Nat?l Conf. Artificial Intelligence (AAAI 2000), AAAI Press, Menlo Park, Calif., 2000

[14] R.J. Brachman, «On the Epistemological Status of Semantic Networks», in Associative Networks: Representations and Use of Knowledge by Computers, N.V. Findler, ed., Academic Press, 1979

[15] S. Melnik, H. Garcia-Molina, and A. Paepcke, «A Mediation Infrastructure for Digital Library Services», Proc. ACM Digital Libraries Conf., ACM Press, New York, 2000

[16] J. Broekstra et al., «OIL: A Case Study in Extending RDF-Schema», tech. report, Vrije Universiteit, Amsterdam, 2000; http://www.ontoknowledge.org/oil/

Стефан Декер (stefan@db.stanford.edu) — доцент факультета информатики Стенфордского университета, а также один из основателей компании Ontoprise, занимающейся вопросами управления знаний на базе онтологий.

Сергей Мельник — приглашенный научный сотрудник факультета информатики Стэнфордского университета, где он занимается базами данных и интероперабельностью систем.

Франк ван Хармелен — ведущий сотрудник группы, занимающейся вопросами искусственного интеллекта в Vrije Universiteit (Амстердам).

Дитер Фенсел — доцент университета Vrije Universiteit. Он занимается системами баз знаний, а также использованием онтологий для доступа к разнородным источникам знаний.

Майкл Клейн — аспирант университета Vrije Universiteit. К области его научных интересов относятся RDF.

Джин Брукстра — аспирант университета Vrije Universiteit. Он занимается вопросами моделирования, поддержки и интеграции онтологий.

Майкл Эрдманн — аспирант Университета Карлсруэ (Германия). К области его научных интересов относятся моделирование знаний с помощью онтологий и интеллектуальные Web-приложения.

Ян Хоррокс — профессор информатики Манчестерского университета (Великобритания). Занимается вопросами представления знаний, автоматизированных логических преобразований.


Stefan Decker, Sergey Melnik, Frank Van Harmelen, Dieter Fensel, Michel Klein, Jeen Broekstra, Michael Erdmann, and Ian Horrocks, The Semantic Web: The Roles of XML and RDF, Internet Computing, Vol. 4, No. 5, September-October 2000. IEEE Computer Society, 2000. All rights reserved. Reprinted with permission of IEEE.


Декларативная и процедурная семантика

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

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

Это различие между декларативной и процедурной семантикой тесно связано с различиями в подходах к семантике Web-страниц. Выражение XML имеет внутреннюю семантику, и его значение определяется только действиями, которые одна или несколько программ предпринимают на ее основе (к примеру, будет ли вложение тегов интерпретироваться как part-of («часть») или subtype-of («подтип»)). Выражение RDF, с другой стороны, имеет конкретную декларативную семантику (такую, как предполагаемое значение subClassOf), и это указывается независимо от процессора RDF; т. е., все процессоры RDF должны поддерживать предполагаемую семантику.

Велик соблазн чуть ли не отождествить механизм «расширения типа» в XML Schema с механизмом subclassOf в RDF Schema, но их схожесть лишь кажущаяся. Фактически, механизм расширения типа вообще нельзя использовать для моделирования онтологических подтипов: в XML Schema, если тип T? является производным от типа T, то элементы производного типа T? необязательно являются членами исходного типа T. С другой стороны, в отношении subClassOf в RDF Schema член подкласса является также членом исходного суперкласса. В результате, subClassOf может использоваться для моделирования онтологических подтипов, а расширение типов в XML Schema — нет.


Таблица 2. Отображение словаря OIL в схему RDF
Словарь OILСловарь RDF
Class-defrdfs:Class
Subclass-ofrdfs:subClassOf
Slot constraintoil:hasSlotConstraint oil:SlotConstraint
ANDoil:AND
NOToil:NOT
Has-valueoil:hasValue.