RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, , RDF-S, or RDF/S) is a set of classes with certain properties using the
RDF extensible
knowledge representation
Knowledge representation (KR) aims to model information in a structured manner to formally represent it as knowledge in knowledge-based systems whereas knowledge representation and reasoning (KRR, KR&R, or KR²) also aims to understand, reason, and ...
data model, providing basic elements for the description of
ontologies
In information science, an ontology encompasses a representation, formal naming, and definitions of the categories, properties, and relations between the concepts, data, or entities that pertain to one, many, or all domains of discourse. More ...
. It uses various forms of RDF vocabularies, intended to structure RDF
resource
''Resource'' refers to all the materials available in our environment which are Technology, technologically accessible, Economics, economically feasible and Culture, culturally Sustainability, sustainable and help us to satisfy our needs and want ...
s. RDF and RDFS can be saved in a
triplestore
A triplestore or RDF store is a purpose-built database for the storage and retrieval of triples through semantic queries. A triple is a data entity composed of subject– predicate– object, like "Bob is 35" (i.e., Bob's age measured in years i ...
, then one can extract some knowledge from them using a query language, like
SPARQL
SPARQL (pronounced ":wikt:sparkle, sparkle", a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language—that is, a Semantic Query, semantic query language for databases—able to retrieve and manipulate data sto ...
.
The first version
was published by the World-Wide Web Consortium (W3C) in April 1998, and the final
W3C recommendation
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
was released in February 2014.
Many RDFS components are included in the more expressive
Web Ontology Language
The Web Ontology Language (OWL) is a family of Knowledge representation and reasoning, knowledge representation languages for authoring Ontology (information science), ontologies. Ontologies are a formal way to describe Taxonomy, taxonomies and ...
(OWL).
Terminology
RDFS constructs are the RDFS classes, associated properties and utility properties built on the
vocabulary of RDF.
Classes
;
: Represents the class of everything. All things described by RDF are resources.
;
: An ''rdfs:Class'' declares a resource as a
class
Class, Classes, or The Class may refer to:
Common uses not otherwise categorized
* Class (biology), a taxonomic rank
* Class (knowledge representation), a collection of individuals or objects
* Class (philosophy), an analytical concept used d ...
for other resources.
A typical example of an rdfs:Class is in the Friend of a Friend (
FOAF) vocabulary.
An instance of is a resource that is linked to the class using the
property
Property is a system of rights that gives people legal control of valuable things, and also refers to the valuable things themselves. Depending on the nature of the property, an owner of property may have the right to consume, alter, share, re ...
, such as in the following formal expression of the
natural-language sentence: 'John is a Person'.
ex:John rdf:type foaf:Person
The definition of is recursive: is the class of classes, and so it is an instance of itself.
rdfs:Class rdf:type rdfs:Class
The other classes described by the RDF and RDFS specifications are:
;
:
literal values such as strings and integers. Property values such as textual strings are examples of RDF literals. Literals may be plain or typed.
;
: the class of datatypes. is both an instance of and a subclass of . Each instance of is a subclass of .
;
: the class of XML literal values. is an instance of (and thus a subclass of ).
;
: the class of properties.
Properties
Properties are instances of the class and describe a relation between subject resources and object resources. When used as such a property is a
predicate (see also
RDF: reification).
;
: the ''rdfs:domain'' of an declares the class of the ''subject'' in a
triple whose predicate is that property.
;
: the ''rdfs:range'' of an declares the class or datatype of the ''object'' in a triple whose predicate is that property.
For example, the following declarations are used to express that the property relates a subject, which is of type , to an object, which is of type :
ex:employer rdfs:domain foaf:Person
ex:employer rdfs:range foaf:Organization
Given the previous two declarations, from the triple:
ex:John ex:employer ex:CompanyX
can be inferred (resp. follows) that is a , and is a .
;
: a property used to state that a resource is an instance of a class. A commonly accepted
QName for this property is "a".
;
: allows declaration of hierarchies of classes.
For example, the following declares that 'Every Person is an Agent':
foaf:Person rdfs:subClassOf foaf:Agent
Hierarchies of classes support inheritance of a property domain and range (see definitions in the next section) from a class to its subclasses.
;
: an instance of that is used to state that all resources related by one property are also related by another.
;
: an instance of that may be used to provide a human-readable version of a resource's name.
;
: an instance of that may be used to provide a human-readable description of a resource.
Utility properties
;
: an instance of that is used to indicate a resource that might provide additional information about the subject resource.
;
: an instance of that is used to indicate a resource defining the subject resource. This property may be used to indicate an RDF vocabulary in which a resource is described.
RDFS entailment
An
entailment
Logical consequence (also entailment or logical implication) is a fundamental concept in logic which describes the relationship between statements that hold true when one statement logically ''follows from'' one or more statements. A valid l ...
regime defines whether the triples in a graph are logically contradictory or not. RDFS entailment
is not very restrictive, i.e. it does not contain a large amount of rules (compared, for example, to
OWL
Owls are birds from the order Strigiformes (), which includes over 200 species of mostly solitary and nocturnal birds of prey typified by an upright stance, a large, broad head, binocular vision, binaural hearing, sharp talons, and feathers a ...
) limiting what kind of statements are valid in the graph. On the other hand it is also not very expressive, meaning that the semantics that can be represented in a machine-interpretable way with the graph is quite limited.
Below in a simple example of the capabilities and limits of RDFS entailment, we start with a graph containing the following explicit triples:
foo:SomeGiraffe rdf:type bar:Animal.
foo:SomeElephant rdf:type bar:Elephant.
foo:SomeZoo rdf:type bar:Zoo.
bar:livesInZoo rdfs:domain bar:Animal.
bar:livesInZoo rdfs:range bar:Zoo.
foo:SomeElephant bar:livesInZoo foo:SomeZoo.
Without enabling inferencing with RDFS entailment, the data we have does not tell us whether
foo:SomeElephant
is a
bar:Animal
. When we do RDFS-based inferencing, we will get the following extra triple:
foo:SomeElephant rdf:type bar:Animal.
The
rdfs:domain
statement dictates that any subject in triples where
bar:livesInZoo
is the predicate is of type
bar:Animal
. What RDFS entailment is not able to tell us is the relationship between
bar:Animal
and
bar:Elephant
. Due to inferencing we now know that
foo:SomeElephant
is both
bar:Animal
and
bar:Elephant
so these classes do intersect but there is no information to deduce whether they merely intersect, are equal or have a subclass relationship.
In RDFS 1.1, the domain and range statements do not carry any formal meaning and their interpretation is left up to the implementer. On the other hand in the 1.2 Working draft they are used as entailment rules for inferencing the types of individuals. Nevertheless in both versions, it is very clearly stated that the expected functionality of range is "the values of a property are instances of one or more classes" and domain "any resource that has a given property is an instance of one or more classes".
The example above demonstrated some of the limits and capabilities of RDFS entailment, but did not show an example of a logical inconsistency (which could in layman terms be interpreted as a "validation error"), meaning that the statements the triples make are in conflict and try to express contradictory states of affairs. An example of this in RDFS would be having conflicting datatypes for objects (e.g. declaring a resource to be of type
xsd:integer
and being also declared to be
xsd:boolean
when inferencing is enabled).
Examples of RDF vocabularies
RDF vocabularies represented in RDFS include:
*
FOAF: the source of the FOAF Vocabulary Specification is RDFS written in the
RDFa
RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within web documents. The Resource Descript ...
syntax.
*
Dublin Core
140px, Logo of DCMI, maintenance agency for Dublin Core Terms
The Dublin Core vocabulary, also known as the Dublin Core Metadata Terms (DCMT), is a general purpose metadata vocabulary for describing resources of any type. It was first developed ...
: RDFS source is available in several syntaxes
*
Schema.org: the source of their schema was originally RDFS written in the
RDFa
RDFa or Resource Description Framework in Attributes is a W3C Recommendation that adds a set of attribute-level extensions to HTML, XHTML and various XML-based document types for embedding rich metadata within web documents. The Resource Descript ...
syntax until July 2020.
*
Simple Knowledge Organization System
Simple Knowledge Organization System (SKOS) is a W3C recommendation designed for representation of thesauri, classification schemes, taxonomies, subject-heading systems, or any other type of structured controlled vocabulary. SKOS is part of t ...
(SKOS) developed the RDF schema titled as SKOS XL Vocabulary, which is an OWL ontology for the SKOS vocabulary that uses the OWL RDF/XML syntax, and hence makes use of a number of classes and properties from RDFS.
* The
Library of Congress
The Library of Congress (LOC) is a research library in Washington, D.C., serving as the library and research service for the United States Congress and the ''de facto'' national library of the United States. It also administers Copyright law o ...
defines an RDF schema titled
Metadata Authority Description Schema
Metadata Authority Description Schema (MADS) is an XML schema and RDF Schema developed by the United States Library of Congress' Network Development and Standards Office that provides an authority element set to complement the Metadata Object Des ...
in RDF, or MADS/RDF for short. From the abstract, it is intended for use within their library and "information science (LIS) community". It allows for annotating special relational data, such as if an individual within a family is well-known via .
* The
UniProt
UniProt is a freely accessible database of protein sequence and functional information, many entries being derived from genome sequencing projects. It contains a large amount of information about the biological function of proteins derived fro ...
database has an RDF schema for describing
biochemical
Biochemistry, or biological chemistry, is the study of chemical processes within and relating to living organisms. A sub-discipline of both chemistry and biology, biochemistry may be divided into three fields: structural biology, enzymology, ...
data, and is specialized towards describing
proteins
Proteins are large biomolecules and macromolecules that comprise one or more long chains of amino acid residues. Proteins perform a vast array of functions within organisms, including catalysing metabolic reactions, DNA replication, re ...
.
See also
*
SPARQL
SPARQL (pronounced ":wikt:sparkle, sparkle", a recursive acronym for SPARQL Protocol and RDF Query Language) is an RDF query language—that is, a Semantic Query, semantic query language for databases—able to retrieve and manipulate data sto ...
Query Language for RDF
*
Platform for Internet Content Selection (PICS)
*
Resource Description Framework
The Resource Description Framework (RDF) is a method to describe and exchange graph data. It was originally designed as a data model for metadata by the World Wide Web Consortium (W3C). It provides a variety of syntax notations and formats, of whi ...
(RDF)
*
Web Ontology Language
The Web Ontology Language (OWL) is a family of Knowledge representation and reasoning, knowledge representation languages for authoring Ontology (information science), ontologies. Ontologies are a formal way to describe Taxonomy, taxonomies and ...
(OWL)
*
Semantic technology
The ultimate goal of semantic technology is to help machines understand data. To enable the encoding of semantics with the data, well-known technologies are RDF (Resource Description Framework) and OWL (Web Ontology Language). These technologies ...
*
SHACL Shapes and Constraints Language for RDF
References
External links
W3C RDFS SpecificationW3C RDF 1.1 PrimerW3C SPARQL 1.1 Entailment Regimes SpecificationW3C RDFS EntailmentMap OWL-RDF/S ontologies and XML Schemas. Transform XML Schema to OWL.
{{W3C Standards
Schema
Schema may refer to:
Science and technology
* SCHEMA (bioinformatics), an algorithm used in protein engineering
* Schema (genetic algorithms), a set of programs or bit strings that have some genotypic similarity
* Schema.org, a web markup vocab ...
Knowledge representation languages
Semantic Web
World Wide Web Consortium standards