What is RDF and what is it good for?
Unless you know Resource Description Framework (RDF) well, it's
probably best if you try to forget what you already know about it as you
read the rest of this section. RDF
exists at the intersection of a few different technologies, so it's easy
to be lead into thinking that it is merely a particular XML data format or a
tool for blog feeds. Forget what you know. Here is RDF from the
RDF is a general method to decompose knowledge into small pieces, with some
rules about the semantics, or meaning, of those pieces. The
point is to have a method so simple that it can express any fact, and
yet so structured that computer applications can do useful things with knowledge
expressed in RDF. I say "method" in particular, rather than format, because one
can write down those pieces in any number of ways and still preserve the
original information and structure, just like how one can express the same meaning in
different human languages or implement the same data structure in
In some ways, RDF can be compared to XML. XML also is designed to be
simple and applicable to any type of data. XML is also more than a file
format. It is a foundation for dealing with hierarchical, self-contained
documents, whether they be stored on disk in the usual brackets-and-slashes format,
or held in memory and accessed through a DOM API.
What sets RDF apart from XML is that RDF is designed to represent
knowledge in a distributed world. That RDF is designed for
knowledge, and not data, means RDF is particularly concerned with
meaning. Everything at all mentioned in RDF means something. It may be
a reference to something in the world, like a person or movie, or it may
be an abstract concept, like the state of being friends with someone
else. And by putting three such entities together, the RDF standard says
how to arrive at a fact. The meaning of the triple “(John, Bob, the state of being
friends)” might be that John and Bob are friends. By putting a lot of facts
together, one arrives at some form of knowledge. Standards built on top of
RDF, including RDFS and OWL, add to RDF semantics for drawing logical
inferences from data.
For comparison, XML itself is not very much concerned with meaning.
XML nodes don't need to be associated with particular concepts, and
the XML standard doesn't indicate how to derive a fact from a document.
For instance, if you were presented with a few XML documents whose root nodes
were in a foreign language you don't understand, you couldn't do anything
useful with the documents but display them. RDF documents with nodes
you can't understand could still actually be usefully processed because RDF specifies
some basic level of meaning. Now, this isn't to say that you couldn't
develop your own standard on top of XML that says how to derive
the set of facts in an XML document, but you'll find you've probably
just reinvented something like RDF.
The second key aspect of RDF is that it works well for distributed
information. That is, RDF applications can put together RDF files
posted by different people around the Internet and easily learn from them new
things that no single document asserted. It does this in two ways,
first by linking documents together by the common vocabularies they use,
and second by allowing any document to use any vocabulary. This allows
enormous flexibility in expressing facts about a wide range of things,
drawing on information from a wide range of sources.
For the official documentation on RDF, start with the RDF Primer