Синтаксис описания классов и типов-свойств в RDFS

Синтаксис описания классов в RDFS строится на использовании следующих основных предопределенных ресурсов и их свойств:

- «rdfs:Resource» – класс произвольных образцов (т. е. класс, к которому относятся любые описываемые в RDF ресурсы) и одновременно абстрактный суперкласс, подклассами которого являются все RDFS-классы;

- «rdfs:Class» – класс RDF-ресурсов, являющихся классами (соответственно «rdfs:Class» является образцом самого себя);

- «rdfs:Literal» – класс значений свойств, являющихся литералами, таких, как строки или целые («rdfs:Literal» не разделяет понятий простых и типизированных литералов, однако типизированные литералы относятся также к классу «rdfs:datatype»); «rdfs:Literal» является образцом класса «rdfs:Class» и подклассом «rdfs:Resource»;

- «rdfs:datatype» – класс типов данных; является одновременно образцом и подклассом класса «rdfs:Class»; каждый образец класса «rdfs:datatype» является подклассом класса «rdfs:Literal»;

- «rdf:XMLLiteral» – класс XML-литералов, являющийся образцом класса «rdfs:datatype» и подклассом класса «rdfs:Literal»;

- «rdf:Property» – класс RDF-свойств, являющийся образцом класса «rdfs: Class».

Синтаксис описания типов-свойств в RDFS использует следующие предопределенные элементы:

- «rdfs:range» – образец класса «rdf:Property», который используется для описания того, что значение свойства является образцом одного или нескольких классов. Введение триплета «P rdfs:range C» означает, что P является образцом класса «rdf:Property», C – образцом класса «rdf:class», а ресурсы, описанные как объекты триплетов, имеющих предикат P, являются образцами класса С. Там, где Р имеет более одного свойства «rdfs:range», ресурсы, описывающие объекты триплетов с предикатом Р, становятся образцами всех классов, определенных через Р и «rdfs:range»;

- «rdfs:domain» – образец класса «rdf:Property», используемый для указания на то, что ресурс, имеющий данный тип-свойство, является образцом одного или нескольких классов. Употребление триплета «P rdfs:domain C» означает, что Р является образцом класса «rdf:Property», С – образцом класса «rdf:class» и все ресурсы, описанные субъектами триплетов с предикатом Р, являются образцами класса С. Там, где Р имеет более одного свойства «rdfs:domain», ресурсы, описывающие субъекты триплетов с предикатом Р, становятся образцами всех классов, определенных через Р и «rdfs: domain»;

- «rdf:type» – образец класса «rdf:Property», используемый для указания на то, что ресурс является образцом класса. Триплет «R rdf:type C» означает, что С является образцом класса «rdf:class», а R – образцом класса С;

- «rdfs:subClassOf» – образец класса «rdf:Property», позволяющий описать подкласс класса (отношение «класс – подкласс» является транзитивным);

- «rdfs:subPropertyOf» – образец класса «rdf:Property», позволяющий описать тип-подсвойство типа-свойства (отношение «свойство – подсвойство» является транзитивным);

- «rdfs:label» – образец класса «rdf:Property», позволяющий задавать псевдонимы (удобные для восприятия) именам ресурсов;

- «rdfs:comment» – образец класса «rdf:Property», позволяющий сопоставлять ресурсам текстуальные комментарии и разъяснять смысловое значение классов и типов-свойств.

Перечисленные предопределенные классы и типы-свойства считаются базисными элементами словаря RDFS, на основе которых строятся дополнительные средства типизации данных и производные словари. Следует отдельно отметить тот факт, что возможности RDFS позволяют образовывать не только обособленные схемы логических связей между типами (классами и свойствами) внутри одного словаря, но и схемы связей между элементами различных, независимо созданных словарей. Особое значение при этом имеют типы-свойства «domain» (домены) и «range» (диапазоны). Поскольку URI-ссылки позволяют идентифицировать классы и типы-свойства в пределах всего Web-пространства, возникает возможность описания таких новых типов-свойств, доменами или диапазонами которых будут являться классы, заданные в других пространствах имен (namespace). Таким образом, элементы имеющихся внешних словарей могут быть вовлечены в процесс образования любого нового словаря.

Дополнительные предопределенные RDFS-типы (классов и свойств) часто логически объединяют в отдельные словари, расширяющие возможности базового словаря (хотя, формально, все соответствующие дополнительные предопределенные символы входят в стандартную синтаксическую модель RDFS). Среди этих словарей особенно значимыми (в смысле обеспечения выразительной мощности языка) являются словарь контейнеров, словарь коллекций, словарь реализаций (термин «реализация» здесь и далее заменяет английский термин «reification» – воплощение, материализация) и словарь вспомогательных свойств.

Элементами словаря контейнеров являются предопределенные классы «rdf:Bag», «rdf:Seq», «rdf:Alt», а также:

- класс «rdf:Container» (образцами которого являются перечисленные ранее классы Bag, Seg и Alt);

- тип-свойство «rdfs:ContainerMembershipProperty» (образцами которого являются предопределенные свойства, имеющие обобщенный вид «rdf:_n»);

- тип-свойство «rdfs:member» (подсвойствами которого являются все образцы типа-свойства «rdfs:ContainerMembershipProperty»).

Следует отметить, что в отличие от классического понимания термина «контейнер» в RDFS контейнеры могут являться своими собственными элементами.

Элементами словаря коллекций являются предопределенные классы и типы-свойства «rdf:List», «rdf:first», «rdf:rest» и «rdf:nil».

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

- «rdf:Statement» – класс, образцами которого являются утверждения RDF (триплеты);

- «rdf:subject» – тип-свойство, используемое для указания на субъекты триплетов. Триплет «S rdf:subject R» обозначает, что S является образцом класса «rdf:Statement» (триплетом), в котором в роли субъекта выступает R, относящийся к классу «rdf:Class»;

- «rdf:predicate» – тип-свойство, используемое для указания на предикаты триплетов. Триплет «S rdf: predicate Р» обозначает, что S – образец класса «rdf:Statement» (триплет), в котором предикатом является R, относящийся к классу «rdf:Property»;

- «rdf:object» – тип-свойство, используемое для указания на объекты триплетов. Триплет «S rdf:subject O» обозначает, что S является образцом класса «rdf:Statement» (триплетом), в котором в роли объекта выступает О, относящийся к классу «rdf:Class».

Словарь вспомогательных свойств содержит следующие предопределенные символы:

- «rdfs:seeAlso» – тип-свойство, используемое для указания на вспомогательный ресурс, предоставляющий дополнительную информацию о ресурсе, являющемся субъектом триплета;

- «rdfs:isDefinedBy» – тип-свойство (подсвойство «rdfs:seeAlso»), указывающий на ресурс, содержащий описание субъекта триплета (например, на внешний словарь);

- «rdf:value» – тип-свойство, которое может быть использовано при описании «структурированных» значений свойств (например, значение структурированного свойства «время» может состоять из десятичного числа «3.5» и определения единицы измерения – «час»). В таких случаях структурированное значение свойства представляется в графе пустым узлом, к которому присоединяются узлы, соответствующие «элементам» этого значения («3.5» и «час»). При этом один, наиболее значимый элемент структурированного свойства (например, «3.5») может выделяться путем связывания с пустым узлом структурированного свойства предикатом «rdf:value».


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: