Vocabularies and RDF Schema
While RDF defines syntax for metadata descriptions, it doesn’t include built-in metadata properties such as author, title, or date of creation. However, the RDF Schema Recommendation allows independent parties to define their own descriptive vocabularies that can be exchanged with others.
RDF Schema is an extension of RDF that supports the definition of RDF vocabularies through mechanisms for describing groups of related resources and their relationships. Following the layered architecture approach to web specifications, RDF Schema descriptions are written in RDF. The aim of RDF Schema is to allow developers to provide descriptions and property constraints on the resources in their domains.
Using RDF Schema, resources in a domain can be organized into classes that contain resource instances. Unlike class definitions in object-oriented systems, however, two classes may have the same set of instances yet still be different classes with different class properties.
For example, ZwiftBooks might define a class that defines "all the books of a specific publisher," while at the same time including those same books in the class of "books on shelves at the ZwiftBooks warehouse." Knowing that a book is a member of the publishing house class allows us to obtain information about the book publisher, such as address, contact person, and ordering instructions. Finding the same book in the ZwiftWarehouse class gives us additional information about the book, such as whether the book is available for instant delivery.
Like object systems, RDF Schema classes also support Subclassing, so that if some class C is a subclass of another class C1, then all instances of C will also be instances of C1 and inherit the properties of the superclass. In RDF Schema, we can specify subclasses by using the rdfs:subClassOf property.