RDF Schema stands for Resource Description Framework Schema, and is a W3C standard used to describe RDF vocabularies and data models. It lets you define classes (like Book, Person) and properties (like hasAuthor) and describe how they relate. This is a big help for computers that, with RDF Schema, can understand how different pieces of information are connected. It’s very useful for building vocabularies that can be shared across systems. This makes data more consistent and easier to integrate. (Source) (Source)
RDF Schema example
RDF Schema consists of two parts, with the first one being the vocabulary (the schema) and the second one being the actual data. The RDF Schema uses Turtle syntax (short for Terse RDF Triple Language) to describe some classes and properties.
Part 1: RDF Vocabulary
In this schema, we want to define three things you can find in a bookstore: books, authors and publishers. We also want to define properties that link them together, like who wrote a book or who published it. This part doesn’t describe specific books.
@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/bookstore#> .
# Classes
ex:Book rdf:type rdfs:Class .
ex:Author rdf:type rdfs:Class .
ex:Publisher rdf:type rdfs:Class .
# Properties
ex:title rdf:type rdf:Property ;
rdfs:domain ex:Book ;
rdfs:range rdfs:Literal .
ex:writtenBy rdf:type rdf:Property ;
rdfs:domain ex:Book ;
rdfs:range ex:Author .
ex:publishedBy rdf:type rdf:Property ;
rdfs:domain ex:Book ;
rdfs:range ex:Publisher .
ex:name rdf:type rdf:Property ;
rdfs:domain rdfs:Resource ;
rdfs:range rdfs:Literal .
This schema tells us, for example, that a Book can have a title, be writtenBy an Author, and publishedBy a Publisher. It also says that any resource can have a name.
Part 2: RDF Data
With the schema we made in the first part, we can now describe specific instances of books, authors, and publishers.
@prefix ex: <http://example.org/bookstore#> .
ex:book1 rdf:type ex:Book ;
ex:title “The Semantic Web Primer” ;
ex:writtenBy ex:author1 ;
ex:publishedBy ex:pub1 .
ex:book2 rdf:type ex:Book ;
ex:title “Linked Data Explained” ;
ex:writtenBy ex:author2 ;
ex:publishedBy ex:pub1 .
ex:author1 rdf:type ex:Author ;
ex:name “John Doe” .
ex:author2 rdf:type ex:Author ;
ex:name “Jane Smith” .
ex:pub1 rdf:type ex:Publisher ;
ex:name “Knowledge Press” .
This data uses the schema to say: “There is a book called ‘The Semantic Web Primer’, written by John Doe and published by Knowledge Press.” Every statement follows the rules from Part 1, which is what makes the data understandable to machines—and to other people. (Source)
RDF Schema vs Schema.org
RDF Schema (RDFS) is a W3C standard used to define vocabularies and relationships in linked data. It’s designed for modeling meaning through classes, properties, and logic (e.g., rdfs:subClassOf, rdfs:domain, rdfs:range). You use it when building semantic data models or knowledge graphs.
Schema.org, on the other hand, is a shared vocabulary for structuring data on websites—mainly for search engines like Google. It uses simpler formats (like JSON-LD) and focuses on practical types like Product, Event, or Person. This is good if you want to rank on Google. Schemawriter.ai makes writing Schema.org much easier and results in higher Google rankings. If this sounds interesting, you can join here: Schemawriter.ai