Inferensys

Glossary

RDF Schema (RDFS)

RDF Schema (RDFS) is a W3C standard semantic extension of the Resource Description Framework (RDF) that provides a basic vocabulary for defining classes, properties, and hierarchies to organize and describe resources in a graph.
Stylish home-office setup in a modern highrise apartment, floor-to-ceiling windows showing city skyline at golden hour, a laptop displaying a beautiful semantic search interface.
ONTOLOGY ENGINEERING

What is RDF Schema (RDFS)?

RDF Schema (RDFS) is a semantic extension of the Resource Description Framework (RDF) that provides a basic vocabulary for defining classes, properties, and hierarchies to organize RDF resources.

RDF Schema (RDFS) is a W3C-standard semantic extension of the Resource Description Framework (RDF) that provides a basic vocabulary for defining lightweight ontologies. It introduces core primitives like rdfs:Class and rdfs:Property to categorize resources and rdfs:subClassOf and rdfs:subPropertyOf to establish hierarchical relationships. RDFS enables the creation of simple taxonomies and basic inference, such as propagating types through subclass hierarchies, forming the foundational layer for more expressive languages like the Web Ontology Language (OWL).

Operating under the open-world assumption, RDFS allows for incremental knowledge addition without contradiction. Its inference rules enable automated reasoning to deduce implicit facts, like inferring that an instance of a subclass is also an instance of its superclass. While less expressive than OWL, RDFS is crucial for establishing basic semantic data models, organizing RDF triplestores, and providing the structural backbone for enterprise knowledge graphs before applying more complex ontological constraints.

RDF SCHEMA (RDFS)

Core RDFS Vocabulary & Constructs

RDF Schema (RDFS) is a semantic extension of RDF that provides a basic vocabulary for defining classes, properties, and hierarchies (subClassOf, subPropertyOf) to organize RDF resources. This card grid details its foundational constructs.

01

Classes (rdfs:Class)

The rdfs:Class is used to define categories or types of resources. It is the RDFS construct for declaring a class, analogous to a type or category in object-oriented programming or a table in a database.

  • Declaration: A class is declared using rdf:type rdfs:Class. For example, :Person rdf:type rdfs:Class.
  • Instantiation: An individual resource becomes an instance of a class using the rdf:type property. For example, :Alice rdf:type :Person.
  • Core Purpose: Classes provide the primary mechanism for organizing and categorizing instances within an RDF graph, forming the backbone of a simple taxonomy.
02

Class Hierarchies (rdfs:subClassOf)

The rdfs:subClassOf property establishes a hierarchical relationship between two classes, indicating that all instances of the subclass are also instances of the superclass. This enables inheritance of characteristics.

  • Semantics: If A rdfs:subClassOf B, then any resource that is an rdf:type of A is inferred to also be an rdf:type of B.
  • Example: :Employee rdfs:subClassOf :Person. Any individual typed as an :Employee is automatically inferred to be a :Person.
  • Transitivity: The property is transitive. If :SoftwareEngineer rdfs:subClassOf :Employee and :Employee rdfs:subClassOf :Person, then :SoftwareEngineer is implicitly a subclass of :Person.
03

Properties (rdf:Property)

The rdf:Property class is the type for all RDF predicates. In RDFS, properties are first-class citizens that can be described and organized.

  • Declaration: A property is declared as an instance of rdf:Property. For example, :hasName rdf:type rdf:Property.
  • Domain & Range: RDFS allows you to constrain a property's usage with rdfs:domain and rdfs:range.
    • rdfs:domain specifies the class of the subject. :hasName rdfs:domain :Person means any subject using :hasName is inferred to be a :Person.
    • rdfs:range specifies the class (or datatype) of the object. :hasName rdfs:range xsd:string means the object of :hasName is a string literal.
04

Property Hierarchies (rdfs:subPropertyOf)

The rdfs:subPropertyOf property creates a hierarchy between RDF properties, allowing for the specialization of relationships.

  • Semantics: If P1 rdfs:subPropertyOf P2, then any triple X P1 Y implies the triple X P2 Y.
  • Example: :hasMother rdfs:subPropertyOf :hasParent. If :Alice :hasMother :Carol, it can be inferred that :Alice :hasParent :Carol.
  • Use Case: This enables querying at different levels of granularity. A query for all :hasParent relationships will also retrieve those made with the more specific :hasMother property.
05

Containers & Collections

RDFS provides vocabulary for describing groups of resources, extending the basic RDF container model (rdf:Bag, rdf:Seq, rdf:Alt).

  • rdfs:Container: A superclass of the RDF container classes.
  • rdfs:member: A generic property to relate a container to its members, subsuming rdf:_1, rdf:_2, etc.
  • rdfs:ContainerMembershipProperty: The class of properties rdf:_1, rdf:_2, etc. This formalizes their status.
  • Limitation: RDFS does not provide the rich, formal semantics for collections found in OWL (e.g., cardinality restrictions, disjointness). Its support is primarily for labeling and basic membership.
06

Utility & Documentation Properties

RDFS includes essential properties for labeling, documenting, and linking resources, which are critical for human understanding and interoperability.

  • rdfs:label: Provides a human-readable name for a resource. It is language-tagged, e.g., :Person rdfs:label "Person"@en.
  • rdfs:comment: Offers a longer description or explanation of a resource.
  • rdfs:seeAlso: Indicates a resource that provides additional information about the subject.
  • rdfs:isDefinedBy: Points to the resource defining the subject, often an ontology or schema document.
  • rdfs:Literal: The class of literal values such as strings and numbers.
  • rdfs:Datatype: The class of RDF datatypes, a subclass of rdfs:Class.
ONTOLOGY ENGINEERING

How RDFS Works: Inference and Semantics

RDF Schema (RDFS) provides a basic semantic vocabulary for defining classes, properties, and hierarchies within an RDF graph, enabling simple but powerful automated inference.

RDF Schema (RDFS) is a semantic extension of the Resource Description Framework (RDF) that introduces a core vocabulary for organizing resources. It defines fundamental constructs like rdfs:Class, rdfs:subClassOf, rdfs:subPropertyOf, and rdfs:domain/rdfs:range. These terms allow data architects to create simple taxonomies and define basic constraints, structuring an RDF graph into a lightweight ontology. Unlike a database schema, RDFS is designed for an open-world assumption.

The primary function of RDFS is to enable logical inference. A semantic reasoner can apply RDFS rules to derive new triples not explicitly stated. For example, if :Dog rdfs:subClassOf :Animal and :Fido a :Dog, a reasoner infers :Fido a :Animal. Similarly, property hierarchies and domain/range constraints generate implicit knowledge. This rule-based deduction is the mechanism that transforms a collection of RDF statements into a minimally reasoned knowledge graph, forming the foundation for more expressive languages like OWL.

RDF SCHEMA (RDFS)

Frequently Asked Questions

RDF Schema (RDFS) is a semantic extension of the Resource Description Framework (RDF) that provides a basic vocabulary for defining classes, properties, and hierarchies. It is a foundational technology for building lightweight ontologies and organizing resources within a knowledge graph.

RDF Schema (RDFS) is a semantic extension of the Resource Description Framework (RDF) that provides a basic vocabulary for defining classes, properties, and hierarchies to organize RDF resources. It works by introducing a set of predefined RDF terms (with the rdfs: namespace) that allow you to create a simple taxonomy and define the structure of your data.

At its core, RDFS allows you to:

  • Define classes (categories of things) using rdfs:Class.
  • Establish a class hierarchy using rdfs:subClassOf.
  • Define properties (relationships or attributes) using rdfs:Property.
  • Establish a property hierarchy using rdfs:subPropertyOf.
  • Specify the types of resources a property can connect using rdfs:domain and rdfs:range.

For example, you can state that ex:Employee is a subclass of ex:Person, and that the property ex:worksFor has a domain of ex:Employee and a range of ex:Company. A basic RDFS reasoner can then infer that if :Alice ex:worksFor :Acme, then :Alice is an ex:Employee and :Acme is an ex:Company.

Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.