RDF Schema

To explain a domain and its associated phenomena one need to create models of Classes and Relations on which one can later on make Facts about Individuals in RDF. One need to think about Models from which Facts can be made.

If there is an Application Program and within this Program one can access and define RDF data, but one can only do this if the Application knows which Terms and Classes to use. There are several problems associated with it. Does not know the term in advance and one needs some way to look this up? Are all terms that are used in the Program are really correct, is there something where one can look up to see if this is a correct usage of the data? Are there more logical Relations between the terms. These cannot be expressed in RDF, therefore a Schema Definition Language is required, the RDF Schema which is officially the RDF Vocabulary Description Language. The RDF Schema Language is a way to define an RDF Vocabulary and Classes as well as Relations between Classes.

  • An Application Program can define and use RDF data.
  • ... if the Application program knows, which Terms and Classes to use, as e.g.

    • name, title, year, ...
    • name, blog, phone number, ..
    • author, cites, ...
  • But ...

    • Are all terms known?
    • Are all terms correct?
    • Are there (logical) Relations among the terms?
  • We need a language for Data Definition: RDF Schema

  • officially called RDF Vocabulary Description Language

RDF defines a data model for the generation of RDF Statements and therefore provide the possibility to define classes and to instantiate these Classes, i.e. define individuals (instances of this Classes). This is done with the keyword <rdf:type>. On the other-hand one can define new kinds of Properties and pose restriction on those Properties. There are also other kind of special Relations between classes like Class Hierarchies among Classes and Properties. What is a sub- and what a superclass or what is a sub and what a superproperties.

  • RDF Schema defines a data model for the creation of RDF statements
  • Abstract Datatype (Classs)
  • Hierarchical Class model and Inheritance (Subclasses)
  • Syntax for common Data Exchange
  • = "Description Language for the Definition of structured Vocabularies..."
  • RDF Schema allows

    • Definition of classes

      • Classes Instantiation in RDF vis <rdf:types>
    • Definition of Properties and Restrictions

    • Definition of Hierarchies

      • Subclasses and Superclasses
      • Subproperties and Superproperties

RDF-Schema is a language for defining a data model of simple knowledge. It lacks things like negation so it is difficulty to model inconsistency and failure. Everything defined in RDFS is potential true. Via RDFS Ontologies Statements or Facts about Individuals can be expressed which is much more than pure XML as in XML there is not ontological agreement on what the labels defined really means. RDFS allows to have a small vocabularies with an exactly Meaning. So what is a rdf:Class and what is a rdf:Property has a special Meaning which is interpreted in the way that this word means that it is a Class and of course it needs to be defined what is a Class.

RDF-Schema expresses kind of Knowledge like:



  • rdfs:domain
  • rdfs:range
  • rdf:type
  • rdfs:subClassOf
  • rdfs:subPropertyOf
  • rdfs:label
  • rdfs:comment

Utility Properties

  • rdfs:seeAlso
  • rdfs:isDefiniedBy

What it still misses is some-kind of formal Semantics that defines the Meaning, but it already provides a vocabulary and what those terms means in regard to their Relation with each other. In the end for the machine to understand this a formal representation is needed that can be done via Logic.

Edit tutorial

Comment on This Data Unit