Схема RDF ( Resource Description Framework Schema , сокращенно RDFS , RDF(S) , RDF-S или RDF/S ) — это набор классов с определенными свойствами, использующий расширяемую модель данных представления знаний RDF , предоставляющую базовые элементы для описания. онтологий . Он использует различные формы словарей RDF, предназначенные для структурирования ресурсов RDF . RDF и RDFS можно сохранить в тройном хранилище , затем из них можно извлечь некоторые знания с помощью языка запросов, например SPARQL .
Первая версия [1] [4] была опубликована Консорциумом World-Wide Web Consortium (W3C) в апреле 1998 года, а окончательная рекомендация W3C была выпущена в феврале 2014 года. [3] Многие компоненты RDFS включены в более выразительную веб-онтологию. Язык (СОВА).
Конструкции RDFS — это классы RDFS, связанные свойства и служебные свойства, созданные на основе словаря RDF . [5] [6] [7]
rdfs:Resource
rdfs:Class
Типичный пример rdfs:Class находится foaf:Person
в словаре «Друг друга» ( FOAF ). [8] Экземпляр — foaf:Person
это ресурс, который связан с классом, foaf:Person
использующим это rdf:type
свойство, например, в следующем формальном выражении предложения естественного языка : «Джон — это человек».
например: Джон rdf: тип foaf: Человек
Определение rdfs:Class
рекурсивно: rdfs:Class
это класс классов, и поэтому он является экземпляром самого себя.
rdfs:Класс rdf:тип rdfs:Класс
Другие классы, описанные спецификациями RDF и RDFS:
rdfs:Literal
rdfs:Datatype
rdfs:Datatype
является одновременно экземпляром и подклассом rdfs:Class
. Каждый экземпляр rdfs:Datatype
является подклассом rdfs:Literal
.rdf:XMLLiteral
rdf:XMLLiteral
является экземпляром rdfs:Datatype
(и, следовательно, подклассом rdfs:Literal
).rdf:Property
Свойства являются экземплярами класса rdf:Property
и описывают отношения между предметными и объектными ресурсами. При использовании в качестве такого свойства является предикатом (см. также RDF: reification ).
rdfs:domain
rdf:Property
класс субъекта в тройке , предикатом которой является это свойство.rdfs:range
rdf:Property
класс или тип данных объекта в тройке, предикатом которой является это свойство.Например, следующие объявления используются для выражения того, что свойство ex:employer
связывает субъект типа type foaf:Person
с объектом типа foaf:Organization
:
например: работодатель rdfs: домен foaf: Человекex:работодатель rdfs:range foaf:Организация
Учитывая предыдущие два объявления из тройки:
ex:Джон ex:работодатель ex:CompanyX
можно сделать вывод (соответственно следует), что ex:John
это a foaf:Person
и ex:CompanyX
есть a foaf:Organization
.
rdf:type
rdfs:subClassOf
Например, следующее заявляет, что «Каждый человек является агентом»:
foaf:Person rdfs:subClassOf foaf:Агент
Иерархии классов поддерживают наследование домена свойства и диапазона (см. определения в следующем разделе) от класса до его подклассов.
rdfs:subPropertyOf
rdf:Property
используется, чтобы указать, что все ресурсы, связанные одним свойством, также связаны другим.rdfs:label
rdf:Property
может использоваться для предоставления удобочитаемой версии имени ресурса.rdfs:comment
rdf:Property
может использоваться для предоставления удобочитаемого описания ресурса.rdfs:seeAlso
rdf:Property
используется для обозначения ресурса, который может предоставить дополнительную информацию о предметном ресурсе.rdfs:isDefinedBy
rdf:Property
используется для указания ресурса, определяющего предметный ресурс. Это свойство может использоваться для указания словаря RDF, в котором описан ресурс.Режим следования определяет, являются ли тройки в графе логически противоречивыми или нет. Следование RDFS [11] не является очень ограничительным, т.е. оно не содержит большого количества правил (по сравнению, например, с OWL ), ограничивающих, какие утверждения допустимы в графе. С другой стороны, он также не очень выразителен, а это означает, что семантика, которую можно представить машинно-интерпретируемым образом с помощью графа, весьма ограничена.
Ниже в простом примере возможностей и ограничений использования RDFS мы начнем с графа, содержащего следующие явные тройки:
foo:SomeGiraffe rdf:type bar:Animal.foo:SomeElephant rdf:введите строку:Elephant.foo:SomeZoo rdf:введите строку:Zoo.bar:livesInZoo rdfs:строка домена:Animal.bar:livesInZoo rdfs:range bar:Zoo.foo:SomeElephant bar:livesInZoo foo:SomeZoo.
Без включения вывода с использованием RDFS имеющиеся у нас данные не говорят нам, foo:SomeElephant
является ли файл bar:Animal
. Когда мы сделаем вывод на основе RDFS, мы получим следующую дополнительную тройку:
foo:SomeElephant rdf:панель типа:Animal.
Это rdfs:domain
утверждение требует, чтобы любой субъект в тройках, где bar:livesInZoo
есть предикат, имел тип bar:Animal
. О чем RDFS не может рассказать, так это о взаимосвязи между bar:Animal
и bar:Elephant
. Благодаря умозаключению мы теперь знаем, что foo:SomeElephant
это и то, и другое, bar:Animal
и bar:Elephant
поэтому эти классы действительно пересекаются, но нет информации, позволяющей сделать вывод, просто ли они пересекаются, равны или имеют отношения подклассов.
Важно отметить, что в RDFS 1.1 операторы домена и диапазона не несут никакого формального значения, и их интерпретация остается на усмотрение разработчика. С другой стороны, в Рабочем проекте 1.2 они используются в качестве правил следствия для определения типов людей. Тем не менее, в обеих версиях очень четко указано, что ожидаемая функциональность диапазона заключается в том, что «значения свойства являются экземплярами одного или нескольких классов» и домена «любой ресурс, имеющий данное свойство, является экземпляром одного или нескольких классов». .
Приведенный выше пример продемонстрировал некоторые ограничения и возможности использования RDFS, но не показал примера логической несогласованности (которую с точки зрения непрофессионала можно было бы интерпретировать как «ошибку проверки»), что означает, что утверждения, которые делают тройки, находятся в конфликте. и попытаться выразить противоречивые положения дел. Примером этого в RDFS может быть наличие конфликтующих типов данных для объектов (например, объявление ресурса как определенного типа xsd:integer
, а также его объявление таковым, xsd:boolean
когда включен логический вывод).
Словари RDF, представленные в RDFS, включают: [10]
madsrdf:prominentFamilyMember
. [16]{{cite web}}
: Отсутствует или пусто |title=
( помощь ){{cite web}}
: CS1 maint: unfit URL (link)