Resource Description Framework or RDF is a family of specifications for a metadata model that is often implemented as an application of XML. The RDF family of specifications is maintained by the World Wide Web Consortium (W3C).
RDF is a general method to decompose any type of knowledge into small pieces, with some rules about the semant.css, or meaning, of those pieces. The point is to have a method so simple that it can express any fact, and yet structured enough that computer applications can do useful things with it.
Here are some introductory texts:
- Quick Introduction by Joshua Tauberer
- In Depth Introduction by Joshua Tauberer
- Two video introductions to the Semantic Web and RDF and RDFa by Manu Sporny
- Ian Davis's RDF Tutorial slides
And some more extensive information:
- RDF Primer
- Resource Description Framework (RDF) / W3C Semantic Web Activity
- Books about the semantic Web
Overview of RDF
The idea behind RDF is to mark up elements written in XML with additional metainformation. It is build upon ideas from the AI science. Therefore the standard defines three fundamental concepts:
To show an example we take the statement "an apple is a fruit". We can break it into the following parts.
|Construct||RDF-Type||Part of the sentence|
Notice, the "an" in "an apple", which unlike "the", "this", "that", etc., defines not a specific object (instance), but a special kind of objects (class).
In a graphical representation this might look like this:
------- is a ------- | Apple |-------->| Fruit | ------- -------
In code it looks like:
<rdf:RDF> <rdf:Statement> <rdf:subject rdf:resource="Apple" /> <rdf:predicate rdf:resource="onto;is a" /> <rdf:object rdf:resource="Fruit" /> </rdf:Statement> </rdf:RDF>
(Note that there are less verbose ways of expressing this triple in RDF/XML and resources are URIs.)
The SMW equivalent of this is the code
within the article Apple.