Penguin
Note: You are viewing an old revision of this page. View the current version.

Acronym for Resource Description Framework

RDF is a subset of XML for specifying information about some arbitary resource. There are RDF Schema's that add things you can say about a resource (Predicates), and Resource types (Subjects). As well as constraints, and datatypes, and various other metadata. The common RDF Schema's are:

  • RSS (Rich Site Summary): For talking about a list of items posted on a website.
  • FOAF (Friend of a Friend): For talking about the kind of information you would put on a home page (eg, your name, your email address (hashed if you don't want spammers to read it)
  • DublinCore: A schema for talking about documents (who wrote it, what is it about, when was it written, a librarians wet dream)
  • Geo: For describing where an object is physically using GPS coordinates.

As well as some "meta" schema's for talking about RDF

  • OWL? (Web Ontology Language): For talking about relationships between objects
  • RDFS? (RDF Schema): For specifing RDF Schemas (in RDF of course...)

You can create your own schemas, and (unfortunately?) everyone does. You can't be a good RDF provider without using some obscure schema that noone has ever heard of before. Please don't.

The core concept behind RDF is that everyone is a series of 3 tuples, (subject,predicate,object) (eg http://www.wlug.org.nz/RDF,dc:title,"WLUG-Wiki RDF"). The subject is what you are talking about (eg, this web page), the Predicate is what you are describing about the subject (eg, it's title), and the object is what the value of the predicate is for this subject (eg, "WLUG-Wiki RDF").

Unfortunately RDF is in it's infancy, it's an extremely flexible language, but best practises haven't really been established yet1?. Many of the common schema's are still in a state of flux, and noone's quite sure what predicates to use for things or how to use various predicates.

People complain that RDF (And in particular FOAF) are a violation of our privacy. However, in at least my humble opinion, FOAF isn't about "the ultimate social network" replacing Orkut, it's about having a mechanism to talk about a person. For instance, it's common to publish a document, and include in it contact details about the author (their name, their email address and perhaps home page). Writing this as RDF means that computers can read this information too. You can search documents by author, or "post" a reply to a document without having to manually cut and paste the information out. DashBoard? is an example of this concept.


1?: Recently the W3C formed a Best Practises Working group to address this problem.