Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы XML-технологий. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
за
С
татья»
ром
«
дает отношение между понятием
Статья:713»
Высказывание отношение
«Ч
еловек:136»
тий
«С
татья»
«С
татья»
, следовательно, принадлежит множеству .
«
Автором Статья:713 является Человек:136»
м
, ,
ежду
«Ж
«
«
Статья:713»
урнал:549»
Человек»
и
,
«
Журнал»
и
«И
здат-во:18»
и
«
Человек:136»
вляются экземплярами поня-
я
«
Издательство»
. Су
и
его экземпля-
адает
з
щности
с
оответственно, что
«
Статья:713»
,
определяется через отношения, принадлежащие множеству .
Кроме перечисленных сущностей на графе представлены стро­ковые значения
«Петр», «Федоров» и «Программирование»
ются экземплярами класса
Литера»
«
.
которые явля-
,
В дескрипционной логике элементы множества представляют собой ограничения, задаваемые исключительно унарными предика­тами (понятиями), в этом состоит их отличие от высказываний множества .
Таким
об
разом,
и
ношения,
от
ределяемые
оп
ысказываниями
в (элементы множества ), и ограничения, налагаемые на элементы отношений (элементы множества ), задаются с помощью одной и той же синтаксической конструкции, т. е. триплетов. А различение высказываний из и используется при построении процедуры логического вывода на моделях дескрипционных логик.
Высказывания из задают свойства «классификации», а выска­зывания из – свойства, которые можно условно назвать свойствами «проверки экземпляра». Логический вывод по этим множествам может существенно различаться, поэтому имеет смысл реализовать отдельные алгоритмы вывода для каждого компонента.
Соответствия между именами и сущностями и их отношениями на множестве будем называть моделью данной дескрипционной логики, или ее интерпретацией. Обозначим ее через символ и определим выражением
 = ({}, {}) ,
где
анное описание интерпретации логической системы в некото-
Д
= {
(.
→(
)
(.
)
∈ )},

= {

(.
→(
)
(.
, 
)
(.
)
)}.
ром множестве соответствует классическому подходу, но в
19
1
R
DF
часто используется интерпретация на графе, которая с учетом выра­жений для и , приведенных выше, представляется как  = (, )
RD
наче говоря, в
И
F
ачестве моделей выступает граф, представ-
к
.
ляющий собой описанные выше два типа (или класса) троек или триплетов (см. рис. 6.2).
6.5
ОБЩИЕ СВЕДЕНИЯ О МОДЕЛИ RDF
Разработчики
R
DF
созд
али простое средство для описания и программной обработки произвольных фактов, узлы-сущности которых размещены во Всемирной паутине. Программная обра­ботка таких фактов заключается в поиске во Всемирной паутине узлов-сущностей и их связывании с помощью логических выводов.
RDF
, как
средство решения этой задачи, представляет собой универ­сальный метод разделения знания на маленькие части, в соответст­вии с правилами построения фактов, учитывающими семантику (смысл) этих частей.
Если в
X
ML
у
пор делается на синтаксическую составляющую
данных, то
R
DF
я
вляется средством представления семантической составляющей данных в распределенном мире, что отчасти имеет отношение к смыслу.
6.5.1
Стандарт
П
ИСАНИЕ ФА КТА В Ф ОР МАТЕ
О
DF
R
исывает, как с помощью объединения различ-
оп
R
DF
ных сущностей можно констатировать факты. Как уже было отме­чено, базовый строительный блок модели данных
R
– ф
DF
акт
(утверждение), представляет собой триплет, состоящий из ресурса,
R
именованного свойства и его значения. В терминологии
DF
, как и в дескрипционной логике, эти три части утверждения называются соответственно: субъект, предикат и объект [40].
Основная цель
фактов в
F/XML
RD
ормате. Синтаксис
-ф
X
ML
– п
редоставить синтаксис для описания
ля описания фактов
RD
F/XML
д
имеет следующую форму:
<факт субъект="..."> <предикат>объект</предикат> </факт>
19
2
Эта запись отражает лишь общую концепцию синтаксиса
Н
иже приведено синтаксически корректное описание факта на языке
ф
в
R
X
DF
ML
Description about="http://www.man.org/">
< <man:Рост>185</man:Рост > </Description>
г
Те
образом. Атрибут
ормате
-
escription>
<D
:
модели фактов интерпретируется следующим
в
about
те
га
<Description>
оп
ределяет субъект факта.
R
DF
Если тег имеет содержимое, оно представляет прочие термы данного факта и, возможно, вложенные факты.
Вложенный в
<De
scription>
предикат, а его содержимое, простая строка или литерал
тег
an:Рост>
<m
представляет собой
,
«185»
–
объект.
При изучении языка
RDF
с
ледует иметь в виду, что его термино-
логия отличается от терминологии, используемой в дескрипционной
.
логике. В
«
предикат»
, а
RDF
не
используются такие термины, как
«субъект»
ил
и
применяемые в нем конструкции основаны скорее на частных идеях, чем на общей концепции фактов, изложенной в этой главе. Это затрудняет освоение
R
DF
Например, в терминологии
интерпретируется следующим образом. Тег
чинающими пользователями.
на
RD
F
прив
еденная конструкция
о
escription>
<D
пределяет
ресурс. Этот ресурс может иметь свойства, выраженные вложен-
R
DF
пред
, з
ставляет собой такое
85»
.
«1
начение свойства или
ными тегами. Например, тег
<man:
Рост>
свойство, значением которого является литерал
Согласно спецификации языка объект может иметь один из двух типов. Первый – это ресурс, зада­ваемый некоторым текстовое значение характеристики.
То
т факт, что значением свойства может быть некоторый
ресурс, задаваемый некоторым
UR
.
Вт
I
орой тип – литерал – есть некоторое
UR
I,
превр
ащает модель данных
RD
F
из
дерева, которым является XML
граф (см. Рис. 6.2).
19
-
р
азметка, в ориентированный
3
6.5.2
С
И
НТ АК СИС Ф АЙЛА
R
DF
В этом учебном пособии мы не ставим себе цель освоить язык
в полном объеме. Данная глава является факультативной, и ее
RDF
назначение – объяснить, каким образом с помощью конструкций этого языка представляются факты, а через них – смыслы данных, содержащиеся в фактах. Для этого в данном разделе опишем лишь простейшие синтаксические конструкции языка
R
рассмотрим
и
DF
примеры определения с их помощью фактов и их компонентов.
.5.2.1 Те ги
6
Полный список основных тегов
<D
escription>
<S
,
eq>
<B
,
ag>
<Al
,
t>
<l
i>
,
. Последние четыре тега являются
R
DF
п
редставлен тегами
<RD
F>
избыточными – эквивалентные им конструкции могут быть выра-
escription>
жены при помощи тега
та
В
R
DF
кже предусмотрено несколько таких тегов, предназна-
<D
.
,
ченных для реификации (реализации) фактов:
<S
tatement>
ег
Т
<Statemen
<s
,
ubject>
t>
<p
redicate>
,
з приведенного перечня используется для реи-
и
,
<o
bject>
.
фикации самого факта, а остальные три тега – для каждого из трех термов триплета.
Тег
документа
<
RDF
RDF
>.
и ег
Тег
<
RDF>
является корневым элементом любого
о наличие обязательно. Как принято в стандартах
XML-платформы, в корневом теге определяется префикс для про-
RD
F
странства имен
rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<
П
оскольку документы
.
F
RD
, к
ак правило, содержат теги из нескольких пространств имен, традиционно в этом теге могут быть определены префиксы любых других пространств имен путем вклю­чения в документ дополнительных деклараций
x
mlns
.
Дру
гих атрибутов для этого тега не предусмотрено, в нем могут встречаться лишь декларации пространств имен словари для использования в документе.
19
4
добавляющие
,
ML
X
<
RDF>
и
теги-контейнеры
.
R
DF
.
Все остальные теги, а именно тег
<
Seq>
Т
,
ег
<
Bag>
<
D
,
<
Alt>
escription
ляются тегами-потомками
, яв
Т
ег
<D
>.
escription>
<De
scription>
яв
ляется основой языка С его помощью описываются факты (один или несколько) и он может содержать любое количество тегов-потомков, в том числе ни одного. Каждый тег-потомок является предикатом (свойством
scription>
и выражает один факт, субъект которого указан в теге
<De
R
DF
)
.
В следующем листинге, записанном на псевдокоде, представлены
escription>
два факта, выраженные с помощью одного тега
<D
.
< Description субъект="..."> <свойство1 ...>объект1</свойство1> <свойство2 ...>объект2</свойство2> </Description >
В п
риведенном листинге представлена сокращенная запись двух различных фактов с одним и тем же субъектом. Здесь вместо терми­на предикат использован термин свойство, т. к. эти термины взаимо­заменяемы, а описываемый факт определяет два свойства субъекта.
Следующий листинг представляет полностью оформленный
окумент, в котором выражается единственный факт, свидетельст-
д вующий о том, что
<?xml <rdf:RDF xmln xmln <Description about="www.test.com/#Иванов"> <ns:Рост>185</ns:Рост> </Description>
</rdf:RDF>.
В
version="1.0" encoding="UTF-8"?>
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" s:rdfs="http://www.w3.org/2000/01/rdf-schema#" s:ns="http://www.example.org/#">
данном случае компоненты тега
Р
ост Иванова 185 см
:
RD
редставлены:
п
F
R
DF-
– субъект – с помощью – об
ъект – с помощью литерала
редикат – с помощью
– п
предикат
«Рост»
пределен в пространстве имен с префиксом
о
U
RL
U
-а
дреса
«
185»;
дреса. Хотя в приведенном тексте
-а
RL
w.test.com/#Иванов"
"ww
;
ns
следует иметь в виду, что наименование пространства имен опреде-
19
5
,
ляется в виде определяется с помощью
айла.
ф
Теги
<Seq>
U
RL
,
-а
дреса, поэтому, в конечном счете, предикат также
дреса, заданного в заголовке
-а
U
RL
<Bag>
,
<Alt> и <li>. RDF
ля организации одно-
д
R
DF
-
типных фактов использует контейнеры. Контейнер состоит из обрамляющего тега <Bag>, <Seq> или <Alt>, а в которые заключаются элементы контейнера. Теги
<Alt>
и
меют следующее назначение:
и
–
<
Seq>
– используется для представления последовательности
акже тегов
т
Seq>
<
,
<
li>
<
,
Bag>
элементов или упорядоченного списка;
–
<
Bag>
– п
редставляет собой коллекцию элементов без каких-
либо ограничений на ее состав;
–
<Alt>
–
спользуется для представления списка альтернатив. Это
и также коллекция без ограничений, но подразумевается, что все ее элементы являются альтернативами. Например, в контейнере
<Alt>
м
огут содержаться варианты одного и того же сообщения
программы на разных языках.
Элементы контейнера заключены в теги
списков
<ul>
и
<ol>
языке
в
H
TML
. Н
иже
риведен пример простого
п
, подобно элементам
<l
i>
контейнера.
<De
scription about="www.example.com/#Петров"> <ns:Владелец> <Bag ID="Собаки"> <li>Шарик</li> <li>Бобик</li> <li>Цербер</li> </Bag> </ns:Владелец> </Description>
Смысл этой записи очевиден:
ладелец
в
Бобика; Пе
тров
– вл
аделец
Петров
Ц
ербера
– владелец
.
Шарика; Петров
–
К
онтейнеры позволяют компактно записывать несколько сход­ных фактов путем организации субъектов и объектов в группы. При этом каждый элемент контейнера является объектом. К сожалению, интерпретация контейнера с точки зрения фактов является несколько непривычной для восприятия.
19
6
6
.5.2.2 Ат ри бу ты т е га < De sc ri pt io n>
<D
Для т
е
га
escription>
п
редусмотрены следующие специальные
атрибуты:
ID, about, type
ными для каждого тега
. Атрибуты ID или
<De
scription>
.
Если в теге не представлен ни
являются обязатель-
about
один из этих атрибутов, то считается, что факт имеет анонимный субъект. Для этого субъекта невозможно определить уникальный
и он для внешнего мира невидим, а в рамках данного документа
,
U
RL
считается неопределенным термом.
Атрибут
I
еспечивает идентификацию факта. Его использо-
об
D
вание имеет смысл в том случае, когда у этого тега есть ровно одно свойство. Как правило, атрибуту с его значением. Для получения уникального можно добавить к временно рассматривается как
С помощью атрибута
U
д
окумента
RL
UR
ab
В качестве значения этого атрибута определяется полный атрибут
bout
a
ис
пользуется вместо атрибута
рисваивается имя, совпадающее
п
I
D
RL
U
.
При этом этот же
F
RD
субъекта данного факта.
L
out
оп
ределяется субъект факта.
,
факт как целое не
D
I
акта это имя
ф
U
U
од
RL
. Если
RL
но-
имеет собственного
С
п
омощью
предикат
ype
t
атрибута
. Использование атрибута
URL
ляет создавать сокращенный вариант записи тега-предиката
недоступен из внешнего мира.
и
ype
t
тега
escription>
<D
ype="value"
t
в
можно определить
F
RD
в этом случае позво-
type
выражаемого в полном варианте следующей строкой:
<rdf:t
ype>value</rdf:type>
Использование предиката систему типов либо с помощью определения фактов в схеме то, что атрибут
(описание
DF
R
ype
t
в
.
позволяет расширить базовую
ype
t
R
DF
либо
,
R
DF
chema
S
см. ниже). Обратите внимание на
месте со своим значением фактически образует
пару «свойство-значение», т. е. «предикат-объект».
ype
t
Атрибут
у
казывает тип объекта факта или значения свойства ресурса. Как правило, объектом/значением является содержащееся внутри открывающего и закрывающего тега
-э
ML
лемента.
X
,
19
7
6
.5.2.3 Ид ен ти ф и ка ц ия р ес ур со в
В отличие от многих других приложений
X
ML
, в
R
DF
и
дентифика-
торы могут использоваться для обозначения целого факта. Для этого
.
I
к тегу, определяющему данный факт, добавляется атрибут
окумента
д ф
акта из данного документа, является уникальным идентифика-
R
DF
, доп
олненный символом
значением атрибута
и
#
D
UR
L
I
D
тором факта в глобальном масштабе.
U
RL
та
кого вида указывает на фрагмент документа, а не на ресурс
в целом. Однако в
R
DF
даже если он является частью большего документа. Поэтому
окумент может рассматриваться как группа или коллекция
д
сурсом считается именно отдельный факт,
ре
DF
R
-
ресурсов.
Приведем пример объявления идентификатора с помощью атри-
бута
тега
D
I
escription ID="printEnabled" ... />
<D
escription>
<D
:
.
В данном объявлении в качестве значения атрибута ID исполь­зовано осмысленное имя, позволяющее судить о состоянии подсис­темы печати.
Другой способ использования идентификаторов в локальных литералов, используемых в документе
RDF
д
– з
R
DF
амена
ля обозначе-
ния факта. При этом можно получить лаконичные записи фактов.
До сих пор мы рассматривали использование идентификаторов
U
для обозначения субъекта, а через него и всего факта. Однако
ожет быть идентификатором не только субъекта, но и объекта.
м
RL
Таким образом, и субъект, и объект факта могут иметь собственные
URL
.
RDF
с помощью
дет еще дальше в этом направлении и позволяет выразить
и
и «предикат/свойство» факта.
U
RL
предиката рас-
U
RL
сматривается как ссылка на ресурс, в котором описан данный преди­кат, и в
-документе замещает фактический предикат, который
R
DF
может находиться на сайте какого-либо учреждения или организа­ции по стандартизации или, например, на корпоративном сервере.
U
RL
Для удобства чтения
-п
редикат, как правило, содержит слово,
19
8
поясняющее его общий смысл, например
ладелец
в
(
Т помощи одних лишь
).
аким образом, при необходимости факты можно выражать при
дентификаторов. Фактически такие иден-
-и
U
RL
w
ww.example.com/#Owner
тификаторы являются указателями на термы, из которых составлены факты.
Строго говоря, идентификаторы, заменяющие термы факта,
URI
могут иметь более общий синтаксис –
RI
ресурса). Синтаксис
U
охватывает как
ниверсальный указатель
(у
U
RL
, так и
U
RN
(универсаль-
ное имя ресурса).
6.5.3
Главная цель
С
ЕМ А
Х
RDF
– п
DF
R
редложить базовую конструкцию данных «объект-атрибут-значение» для описания фактов. Кроме этой семан­тики (описанной в стандарте лишь неформально)
R
е содержит
н
DF
никаких правил, ориентированных на моделирование данных.
R
DF
В спецификации
ичего не говорится о том, какие свойства
н
могут быть у конкретных сущностей и каковы их допустимые
XML
значения, подобно тому, как в спецификации
оп
ределяются лишь правила разметки данных, а не конкретный язык для выделен­ной предметной области. В терминах дескриптивной логики в
R
DF
множества .
ажным ограничением
В
ределены лишь правила составления высказываний из
оп
RD
п
F
ри описании предметных областей в терминах ресурсов, их свойств и значений этих свойств является невозможность атрибутирования (т. е. представления сущностей в виде совокупности свойств) и типизации самих свойств, а также отношений между ресурсами. Если перейти на терминологию опи­сания фактов в виде
R
DF
-г
рафов, то можно сказать, что в
R
DF
н
е предусмотрено средств детализации данных о дугах графа, пред­ставляющих свойства субъектов.
R
DF
оддерживает только их
п
идентификацию.
Но из теории языков программирования известно, что именно наличие возможностей типизации данных обеспечивает способность языка к представлению семантической информации о предметных
19
9
областях. Введение в го описания с помощью
R
п
онятия словарей и средств их формально-
DF
R
DF
S
chema
озволило в значительной
п
степени устранить эту проблему.
.5.3.1 RD F Sc h e ma к а к с п ос об о пр е д е л е н и я
6
ог ра ни че ни й н а ф а к т ы
Прежде чем перейти к описанию
R
DF
S
chema
, пос
тараемся понять, в чем заключается суть типизации сущностей фактов. При этом будем исходить из того, что факты, рассмотренные нами выше, неявно подразумевают множество других фактов, которые могут быть выражены в явном виде. Например, для факта
то могут быть факты:
э
,
Фамилия человека
<
Число в см
<
П
риведенные факты указывают типы субъекта и объекта
,
р
авно
,
ес
18
ть
5>
,
И
.
ванов>
,
<И
ванов
,
Ро
ст
,
85>
1
рассматриваемого примера факта и содержат дополнительную информацию об этом факте. Эта информация аналогична информа­ции, содержащейся в словаре данных или схеме БД, описывающей и ограничивающей данные базы.
Таким образом, как и в случае представления данных в базах, для полноценного описания утверждения, кроме определения отно­шений, необходимо задать еще ограничения на их элементы. Например, для отношения
Рост»
«
бходимо уточнить, что первый
нео элемент каждой пары этого отношения должен быть фамилией человека, а второй – число в сантиметрах.
Для явного определения этих ограничений необходимо ввести
«Фа
милия человека»
и
«Чи
сло в см»
.
После этого задается огра­ничение, определяющее то обстоятельство, что если имеется тройка вида <
И
ванов
,
ром понятия
Ро
«Фам
ст
,
,
то сущность
1
85>
илия человека»
«
Иванов»
а сущность
,
д
олжна быть экземпля-
85»
«1
– э
кземпляром
«Число в см»
.
Формально описанная конструкция определена в дескрипци­онной логике с помощью множеств и (см. Рис. 6.1 и Рис. 6.2). Множество дескрипционной логики, содержащее высказывания, задающие отношения между понятиями и его экземплярами,
20
0
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]