Penguin

Acronym for Resource Description Framework.

RDF is an XML language for specifying information about some arbitary resources. In RDF, everything is expressed a series of subject-predicate-object tuples. The predicate specifies which aspect of the subject you are describing, and the object is the subject's predicate's value. In practice this means that the tuple "http://www.wlug.org.nz/RDF, dc:title, WLUG-Wiki RDF" expresses "the title of http://www.wlug.org.nz/RDF is 'WLUG-Wiki RDF'".

RDF Schemas specify which resource types (subjects) and predicates exist as well as define constraints, datatypes, and various other metadata. (It seems to be a fad for everyone to be creating their own schemas. Please don't.) The commonly encountered ones are

RSS 1.0 (Rich Site Summary) 1?
to describe a site's content (very popular in the blog world)
FOAF (Friend of a Friend)
to describe a person (name, email, homepage, etc)
DublinCore
to describe A schema for talking about documents (who wrote it, what is it about, when was it written, a librarians wet dream)
Geo
to describe an object's location using GPS coordinates.

There are also meta schemas for talking about RDF, like OWL? (the Web Ontology Language, for talking about relationships between objects) and RDFS? (RDF Schema, for specifing RDF Schemas in RDF).

RDF is an extremely flexible language, but unfortunately it's too young for best practises to have been established (the W3C has reacted by forming a Best Practises working group). Many of the common schemas are still in a state of flux, and noone's quite sure what predicates to use for things or how to use various predicates. Another problem at the moment is that there is no obvious way to embed RDF data in a web page, just to link to it as an alternate or related document.

People complain that RDF/FOAF violate privacy, but the intent is really just to have a mechanism to talk about a person in machine readable fashion. For instance, it's common to include contact details about the author when publishing a document, stating their name, their email address and perhaps home page. Providing this information as RDF/FOAF enables computer programs to process this information directly. This way you could search documents by author or send them a mail without having to manually cut and paste the information. DashBoard? is an example implementation of this concept.

WLUG related RDF files


1? There are 9 incompatible schemas/DTD that claim to be "RSS", half of which aren't even remotely RDF-based.