What is RDF?
RDF (Resource Description Framework) is a standard model for data interchange on the Web. RDF extends the linking structure of the Web to use URIs to name the relationship between things as well as the two ends of the link.
In this module, you'll learn the core concepts of RDF, including:
- The structure of subject-predicate-object triples
- How RDF represents and connects data as a graph
- Simple examples using the SOSA Ontology
Understanding RDF Basics
At its core, RDF represents information as triples that follow a simple structure:
Subject
The thing being described
Predicate
The property or relationship
Object
The value or related thing
For example, consider the statement: "Sensor1 measures Temperature"
Subject
Sensor1
Predicate
measures
Object
Temperature
In RDF, all three components are typically identified using URIs (Uniform Resource Identifiers), which provide globally unique identification. For example:
Subject URI
http://example.org/sensor/Sensor1
Predicate URI
http://www.w3.org/ns/sosa/observes
Object URI
http://example.org/property/Temperature
These triples form the building blocks of RDF graphs, allowing complex data relationships to be expressed in a standardized way.
RDF as a Graph
One of RDF's key strengths is its ability to represent data as a graph structure, where:
- Subjects and objects are nodes in the graph
- Predicates are directed edges connecting the nodes
- Each triple forms a simple path in the graph
Key Characteristics of RDF Graphs:
- Distributed: Information can be spread across multiple sources
- Extensible: New data can be added without disrupting existing structures
- Interoperable: Common formats allow different systems to share data
- Queryable: Graph patterns can be used to retrieve specific information
SOSA Ontology Example
The SOSA (Sensor, Observation, Sample, and Actuator) Ontology provides a framework for describing sensors, their observations, and related concepts.
Let's look at an example using SOSA terms:
Subject
:Thermometer123
Predicate
rdf:type
Object
sosa:Sensor
Subject
:Thermometer123
Predicate
sosa:observes
Object
:Temperature
Subject
:Observation456
Predicate
rdf:type
Object
sosa:Observation
Subject
:Observation456
Predicate
sosa:madeBySensor
Object
:Thermometer123
Subject
:Observation456
Predicate
sosa:hasResult
Object
:Result789
Subject
:Result789
Predicate
sosa:hasSimpleResult
Object
"23.5"^^xsd:decimal
This example shows how SOSA allows us to describe a sensor, its observations, and the results of those observations using RDF triples.
Interactive Exercise: Build a Triple
Now let's practice building RDF triples. Given a set of RDF components, try to form valid triples by selecting the correct subject, predicate, and object.
Exercise 1: Match the components
Drag each item to its correct position in the triple structure:
Triple 1:
Subject
(Drop here)
Predicate
(Drop here)
Object
(Drop here)
Triple 2:
Subject
(Drop here)
Predicate
(Drop here)
Object
(Drop here)
RDF Knowledge Check
Let's test your understanding of RDF concepts with a short quiz.