Skip to main content

As far as I can tell, the only thing that leading accessibility experts agree on is that nobody listens to leading accessibility experts, especially not the microformats cabal, which has never cared about accessibility, has never bothered to test it, and has never acknowledged those who have tested it. In fact, the BBC recently removed one microformat from their site because one piece of it may be confusing to some screen reader users with a certain non-default configuration. This proves what leading accessibility experts have been saying all along, that all microformats are inaccessible, and we should all just use RDF.

Meanwhile, the devilish cabal is secretly solving the problem on their public wiki page, their public mailing list, and their public IRC channel. But will it be enough for the BBC? Be sure to tune in next week, when we'll drown a leading accessibility expert to see if she's a witch.


Remember the blogger code? With the help of Sean Palmer, Dave Beckett, Dan Brickley, and the rest of the people in , I wrote an RDF serialization of the blogger code so I could embed it in my FOAF file. (It's the 13 lines near the top, with the bc: prefix.) I registered a namespace for it,, which is also the home of the RDF schema. Here's the N3 version of the schema, which I typed by hand in Emacs, then converted to RDF/XML with Sean Palmer's N3 to RDF converter.

No generator yet. Brave early adopters can encode theirs by hand by taking their blogger code and my FOAF file as an example.

And so forth.


Photo cross-references. In progress. Every photo may depict multiple people doing multiple activities, may be taken in multiple places, may show a variety of special things, and so forth. Furthermore, people are organized into a loose categorization scheme; some people are family, some are friends, some are friends from a particular job, and so forth. Ditto places. Ditto events.

I will soon be adding cross-references on each individual photo page. So if you're looking at a photo of me and Dora and my father in my house in front of the Christmas tree at Christmas, there would be links to see other pictures of me, other pictures of Dora, other pictures of my father, other pictures taken in our house, other pictures of Christmas trees, and other pictures taken around Christmas.


I do not know how to express all of this in RDF. I am aware that I have maligned RDF in the past, and not without reason, and I will malign it a bit more in short order. It's complicated, and it's not for everything. However, this seems to me to be the perfect application for it.


I have been looking at what Norman Walsh has done, setting up a taxonomy of topics, and then associating each log entry and photo with topics in that taxonomy. It's quite impressive. I believe that's what I want to do here.


First, a taxonomy:

[Reception] [is part of] [Wedding]

[Wedding] [is a type of] [Event]

[Lara] [is a] [friend-who-works-at-Prophet]

[Friend-who-works-at-Prophet] [is a type of] [Friend]

[Friend] [is a type of] [Person]

Second, information about each photograph:

[Photo X] [was taken on] [a specific date]

[Photo X] [was taken at] [a specific place]

[Photo X] [depicts] [a certain person]

[Photo X] [depicts] [another person]

[Photo X] [shows people doing] [a specific activity]

That pseudocode looks suspiciously like RDF triples, but I don't know how to make it into actual RDF. My grasp of the RDF model is still shaky, my cumulative experience with the rdflib library can be measured in hours, and as almost everyone in the world will admit, the syntax of the RDF/XML seralization is opaque. All of which is simply to say that RDF has a steep learning curve, and I am still on the bottom of it, and this is what that feels like.

Taking the advice of those who say RDF is easier with the right tools, I have downloaded the latest development release of rdflib, an RDF library for Python. I have read through all the documentation and included examples, and parsed a few FOAF files with it, but I can't quite make the leap into getting it to express what I want, probably because I'm not entirely sure what I want to express.

Any constructive advice would be greatly appreciated.


Tag Soup.

RDF lets you create statements that the document/author made, that you or anyone else has made. The lies can be categorized and pruned to your or anyone elses whim.

I really hope no one or at least very few, will ever have to manually produce RDF/XML. If you're a programmer use a library, if you're not use an application. If you want to write it yourself it's just like code or English - if it doesn't parse it can't be understood.


  1. Don't worry your little head about it, we'll build you programs to hide this horrific syntax from you. I've heard that before. Actually, I've heard a lot of it. Categorize under engineers will save us.
  2. Your RSS feed does not validate as RSS. Your feed (RSS 0.91, no less) is auto-generated by Blogger Pro, a closed source tool which you can't customize. Categorize under tools will save us.
  3. While we're on the subject of validation, your HTML doesn't validate either. Some of these errors are under your control (unescaped ampersands in links), others not (invalid HTML in the Blogspot-inserted banner ad). Lucky for you, my browser has been specially designed to work around errors like this and parse and display the rest of your page as best it can.
  4. I tried to contact you privately, but neither your site nor your RSS feed contain any sort of machine-readable contact information. No doubt in an attempt to cut down on abuse by spammers. Categorize under metadata will save us.
  5. Your site does link to a web-based contact form, which is broken. I give up.


To make room on my hard drive, I'm clearing out some old links. (I'm reducing font sizes to make my laptop lighter, too.) Onward.