timothy falconer's semantic weblog
Big Fractal Tangle


RDF
 



dublin core

Probably the most used RDF schema, besides rdf and rdfs, is Dublin Core, a metadata standard established to describe documents. The first thing you should know about Dublin Core is that it has nothing to do with James Joyce or the city in Ireland. This Dublin is in Ohio, which is where some semweb pioneers met in March 1995 to establish the standard. The next thing you should know about Dubin Core is that it's simple and useful.

How so? Well, Dublin Core is a set of fifteen essential things people want to know about a document: its title, its date, its creator, and so on. By defining a shared terminology, the Dublin Core folks have made it possible for smarter searchs, since we can now say, "Give me all stories (type) by James Joyce (creator) about Dublin (subject)".

The fab fifteen are:

dc:titleformal titleDubliners
dc:subjectcategory or keywordIrish Life
dc:descriptionfree-text accountWhat to do in Dublin when you're dead
dc:sourcelarger body of workn/a
dc:relationpseudo-RDF referenceIsBasisFor: movie The Dead
dc:coveragetime or place coveredDublin, Ireland
dc:creatormaker of documentJoyce, James
dc:publisherprovider of accessBantam Books
dc:contributorthose adding their 2 centsMaddox, Brenda
dc:rightscopyright or the likepublic domain
dc:datedate of release1914
dc:type document typeText
dc:format media typepdf
dc:identifiera unique identifierISBN:0553213806
dc:languagehuman languageen

My examples aren't the best. For the real deal, have a look at the usage guide. While it's not always so clear what values to use, at least the predicates are well defined, which is a big benefit.

To use Dublin Core in your RDF, you first declare the namespace as usual. You then use the "dc" predicates as in any other schema.

<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/">
   <rdf:Description 
       rdf:about="http://media.salon.com/mp3s/joyce2a.mp3"
       dc:title="Sisters"
       dc:identifier="http://media.salon.com/mp3s/joyce2a.mp3"
       dc:subject="Irish Life and Death"
       dc:description="Walking by Cotter"
       dc:creator="Joyce, James"
       dc:type="mp3"
       dc:contributor="Frank McCourt" />
</rdf:RDF>
-->

The nice thing about Dublin Core is that you can mix it with just about any schema, like the trackback schema I talked about earlier. Another nice thing is that you don't even have to use RDF. Dublin Core works just as well in straight XML or even our old friend HTML:

<meta name="DC.creator" content="Joyce, James">
<meta name="DC.type" content="mp3">

HTML? Why would we want to use HTML? Meta tags are so nineties, man!

Well, whatever your stripe, Dublin Core's got fifteen fuzzy buckets for you, so get annotating. Google will someday thank you for it.