World Library  
Flag as Inappropriate
Email this Article

RDF Schema

RDF Schema
Status Published
Year started 1998 (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 1
    • Classes 1.1
    • Properties 1.2
    • Utility properties 1.3
  • RDFS entailment 2
  • See also 3
  • References 4
  • External links 5

Main RDFS constructs

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


  • rdfs:Resource is the class of everything. All things described by RDF are resources.
  • rdfs:Class declares a resource as a class (philosophy) for other resources.

A typical example of an rdfs:Class is foaf:Person in the Friend of a Friend (FOAF) vocabulary. 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 an rdfs:Class of any rdfs:Class.

The other classes described by the RDF and RDFS specifications are:

  • rdfs:Literalliteral values such as strings and integers. Property values such as textual strings are examples of RDF literals. Literals may be plain or typed.
  • rdfs:Datatype – the class of datatypes. rdfs:Datatype is both an instance of and a subclass of rdfs:Class. Each instance of rdfs:Datatype is a subclass of rdfs:Literal.
  • rdf:XMLLiteral – the class of XML literal values. rdf:XMLLiteral is an instance of rdfs:Datatype (and thus a subclass of rdfs:Literal).
  • rdf:Property – the class of properties.


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).

  • rdfs:domain of an rdf:predicate declares the class of the subject in a triple whose second component is the predicate.
  • rdfs:range of an rdf:predicate declares the class or datatype of the object in a triple whose second component is the predicate.

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

  • rdf:type is a property used to state that a resource is an instance of a class. A commonly accepted qname for this property is "a".[4]
  • rdfs:subClassOf allows to declare 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 next section) from a class to its subclasses.

  • rdfs:subPropertyOf is an instance of rdf:Property that is used to state that all resources related by one property are also related by another.
  • rdfs:label is an instance of rdf:Property that may be used to provide a human-readable version of a resource's name.
  • rdfs:comment is an instance of rdf:Property that may be used to provide a human-readable description of a resource.

Utility properties

  • rdfs:seeAlso is an instance of rdf:Property that is used to indicate a resource that might provide additional information about the subject resource.
  • rdfs:isDefinedBy is an instance of rdf:Property 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 regime defines by RDFs (,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 relations 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

Voila, the 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:    .
@prefix rdfs:    .
@prefix ex:    .
@prefix 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: 
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


  1. ^ RDFS first version
  2. ^ "XML and Semantic Web W3C Standards Timeline" (PDF). 2012-02-04. 
  3. ^ Final W3C recommendation
  4. ^ DuCharme, Bob (2011). Learning SPARQL. Sebastopol, California, United States:  

External links

  • W3C RDFS Specification
  • W3C RDF Primer
  • W3C SPARQL 1.1 Entailment Regimes Specification
  • W3C RDFS Entailment
  • SPARQL2XQuery Map OWL-RDF/S ontologies and XML Schemas. Transform XML Schema to OWL.
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.

Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.