Powered by
Share this page on
Article provided by Wikipedia

RDF Schema
Status Published
Year started 1998; 20 years ago (1998)
Editors Dan Brickley, "Ramanathan V. Guha
Base standards "RDF
Related standards "OWL
Domain "Semantic Web
Abbreviation RDFS
Website RDF Schema

RDF Schema (Resource Description Framework Schema, variously abbreviated as RDFS, RDF(S), RDF-S, or RDF/S) is a set of classes with certain properties using the "RDF extensible "knowledge representation data model, providing basic elements for the description of "ontologies, otherwise called RDF vocabularies, intended to structure RDF "resources. These resources can be saved in a "triplestore to reach them with the query language "SPARQL.

The first version[1][2] was published by the World-Wide Web Consortium (W3C) in April 1998, and the final[3] "W3C recommendation was released in February 2004. Many RDFS components are included in the more expressive "Web Ontology Language (OWL).


Main RDFS constructs[edit]

RDFS constructs are the RDFS classes, associated properties and utility properties built on the limited "vocabulary of RDF.


A typical example of an rdfs:Class is foaf:Person in the Friend of a Friend ("FOAF) vocabulary.[4] An instance of foaf:Person is a resource that is linked to the class foaf:Person using the rdf:type property, 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 rdfs:Class is recursive: rdfs:Class 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:


Properties are instances of the class rdf:Property and describe a relation between subject resources and object resources. When used as such a property is a predicate (see also "RDF: reification).

For example, the following declarations are used to express that the property ex:employer relates a subject, which is of type foaf:Person, to an object, which is of type foaf:Organization:

ex:employer rdfs:domain foaf:Person

ex:employer rdfs:range foaf:Organization

Given the previous two declarations, the following triple requires that ex:John is necessarily a foaf:Person, and ex:CompanyX is necessarily a foaf:Organization:

ex:John ex:employer ex:CompanyX

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 next section) from a class to its subclasses.

Utility properties[edit]

Examples of RDF Vocabularies[edit]

Popular RDF vocabularies represented in RDFS include:[6]

RDFS entailment[edit]

An "entailment regime defines by using RDFS (or OWL, etc.) not only which entailment relation is used, but also which queries and graphs are well-formed for the regime. The RDFS entailment is a standard entailment relation in the semantic web.

For example, the following declares that 'Dog1 is an animal','Cat1 is a cat', 'Zoos host animals' and 'Zoo1 hosts the Cat2'  :

ex:dog1         rdf:type                ex:animal
ex:cat1         rdf:type                ex:cat
zoo:host        rdfs:range              ex:animal
ex:zoo1         zoo:host                ex:cat2

But this graph is not well formed because the system can not guess that a cat is an animal. We have to add 'Cats are animals' to do a well-formed graph with :

ex:cat          rdfs:subClassOf         ex:animal

Here is a correct example:

In English The graph
  • Dog1 is an animal
  • Cat1 is a cat
  • Cats are animals
  • Zoos host animals
  • Zoo1 hosts the Cat2
""Regime entailment basic
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:   <http://www.w3.org/2000/01/rdf-schema#> .
@prefix ex:   <http://example.org/> .
@prefix zoo:   <http://example.org/zoo/> .
ex:dog1	   rdf:type	    ex:animal .
ex:cat1	   rdf:type	    ex:cat .
ex:cat	   rdfs:subClassOf  ex:animal .
zoo:host   rdfs:range	    ex:animal .
ex:zoo1	   zoo:host	    ex:cat2 .

If your "triplestore (or RDF database) implements the regime "entailment of RDF and RDFS, the "SPARQL query as follows (the keyword "a" is equivalent to rdf:type in SPARQL):

PREFIX  ex: <http://example.org/>
SELECT ?animal
  { ?animal a ex:animal . }

Gives the following result with cat1 in it because the Cat's type inherits of Animal's type:


See also[edit]


  1. ^ RDFS first version
  2. ^ "XML and Semantic Web W3C Standards Timeline" (PDF). 2012-02-04. Archived from the original (PDF) on April 24, 2013. 
  3. ^ Final W3C recommendation
  4. ^ FOAF Vocabulary Specification 0.99 by Dan Brickley, Libby Miller.
  5. ^ DuCharme, Bob (2011). Learning SPARQL. Sebastopol, California, United States: "O'Reilly Media. p. 36. "ISBN "9781449306595. 
  6. ^ a b W3C RDF 1.1 Primer by Guus Schreiber and Yves Raimond
  7. ^ DCMI term declarations represented in RDF schema language, Dublin Core Metadata Initiative

External links[edit]

) ) WikipediaAudio is not affiliated with Wikipedia or the WikiMedia Foundation.