XML - статьи

Принципы построения модели


Базовый строительный блок модели данных – утверждение, представляющее собой тройку: ресурс, именованное свойство и его значение. В терминологии RDF эти три части утверждения называются соответственно: субъект, предикат и объект [6].

Ресурсом называют все, что описывается средствами RDF. Это может быть обыкновенная Web-страница или какая-то ее часть, например, отдельный элемент HTML или XML разметки, являющийся частью описываемого документа. Также ресурсом может быть целая коллекция страниц, такая как отдельно взятый Web-сайт. И, наконец, в качестве ресурса может выступать нечто, не являющееся доступным непосредственно через Интернет, например, произвольный предмет из мира вещей. Одним словом, все, чему можно приписать некоторый URI (универсальный идентификатор) или URI с добавлением внутреннего имени объекта (имени якоря в HTML) может стать ресурсом и быть описано при помощи RDF.

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

Для обеспечения уникальности имен свойства подобно названиям элементов в XML придерживаются концепции пространства имен. Это означает, что не существует атрибута “цвет” как такового, а существует “цвет” в каком-то уникальном пространстве. В другом пространстве может существовать свое одноименное свойство. Таким образом, имя характеристики представляет собой URI, что делает ее потенциальным объектом для описания при помощи RDF отдельно от характеризуемого ресурса и имеющегося значения. То есть каждое свойство в RDF само является ресурсом и может иметь свои собственные атрибуты.

Одним из общезначимых свойств является “type”, относящееся к пространству имен, задаваемому непосредственно спецификацией RDF. Оно позволяет указать класс описываемого ресурса. Это может быть автомобиль, человек, книга и так далее, а может быть некоторая последовательность объектов (для выражения данного факта существует специальное значение “Seq”, также принадлежащее к пространству имен RDF).


Согласно спецификации, значение свойства может иметь один из двух типов. Первый – это ресурс, задаваемый некоторым URI. Второй тип – литерал – есть некоторое текстовое значение характеристики. Впрочем, литерал может выражать собой значение любого примитивного типа данных, присутствующего в XML. Его тест также может содержать в себе некую разметку, например, XML, но отличительной особенностью такой разметки является то, что она не обрабатывается RDF-процессором и воспринимается как обычная строка.

Тот факт, что значением свойства может быть некоторый ресурс, превращает модель данных из дерева, которым является XML-разметка, в ориентированный граф. Вершинами этого графа являются субъекты и объекты, а дугами – именованные свойства. Поскольку свойство в свою очередь может быть субъектом некоторого утверждения, графы могут быть как линейными, так и вложенными, например, мы можем выражать сомнение или согласие с каким-либо утверждением или указывать источник получения сведений [2, 6].

В качестве простой иллюстрации RDF-документа можно привести описание парка, состоящего из двух автомобилей, для каждого из которых указан год выпуска:

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dat="http://description.org/dates#" xmlns:foo="http://foo.org/car-park#"> <rdf:Description rdf:about="http://foo.org/car-park"> <foo:car rdf:resource="http://foo.org/car-park/01" rdf:type="http://description.org/vehicles#car" dat:year="1999"/> <foo:car rdf:resource="http://foo.org/car-park/02" rdf:type="http://description.org/vehicles#car" dat:year="2001"/> </rdf:Description> </rdf:RDF>

Этому описанию соответствует модель данных, которая представляется следующим графом (при графическом изображении RDF ресурсы принято рисовать овалами, а литералы – прямоугольниками):


Содержание раздела