Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы XML-технологий. Учебное пособие
.pdf
за
С
татья»
ром
«
дает отношение между понятием
Статья: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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
