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 Individual 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.
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 allows
Definition of classes
Definition of properties and restrictions
Definition of hierarchies
RDF Schema is a language for defining a data model of simple knowledge. It lacks things like ngeation so it is difficulty to model incosistance and failure. Everying defined in RDFS is potantioal true. Via RDFS Ontologiesy statements or facts about indiviudals 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 vocabolies 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 neans that it is a Class and of course it needs to be defined what is a Class.
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 undersand this a formal representation is needed that can be done via Logic.