gtfo: get the foaf out

Leading up to the Linked Data pre-conf at cod4lib09 there were several irc discussions around just how to structure the day and what could we do to give attendees the best shot at having an “ah-ha moment”. One idea was to create a simple application that would demonstrate the potential of linked data while also being participatory. I think it took Ed Summers less than 24 hours to hack together the first iteration of the cod4lib2009 attendees foaf crawler/gallery thingy. He can usually be counted on for such feats of overnight engineering.

<!--more-->By the day of the pre-conf we already had a gallery of 20+ foaf profiles. I spent part of the afternoon that day trying to guide several folks through the process of creating a foaf file and getting linked into our new corner of the web of data (with varying degrees of success). Along the way several people added enhancements, bugs were identified and sometimes fixed, much was learned re: linked data, vocabs,

hash fragments vs. 303s, etc. Jonathan Brinley and Michael Klein even wrote a companion Supybot plugin for our irc bot, zoia. It was fun.

Since then my mind has come back to it now and then, mulling over how simple it would be to push some of the variables into a configuration file and make the crawler + gallery re-usable for other events, for example, the soon-to-be-happening BarCampBoston 4. This turned out to be relatively easy, and pretty quickly I had an demo attendees page for bcb4. Some fellow bcb4 goers were nice enough to participate by them asserting their attendence in their FOAF files and me pretending to know them. I’ve decided not to try leading any sessions on linked data or foaf at bcb4, mostly because it’s my first time and I want to soak up what other folks are into, but maybe it’ll make for a good ice-breaker or something.

Here’s my problem though: I’m starting to second guess myself as to the level of general usefulness of this thing–which, btw, I have christened gtfo, aka “gitfo”, aka “get the foaf out”–outside of the context of a tutorial/demo. I mean, could it really even function as an actual conference event attendee gallery? There’s the whole issue of folks needing to foaf:knows each other. I feel like there’s the seed of something cool in there, but it may need a substantial rethink and refactor to get beyond being the equivalent of the pet store shopping cart of linked data apps.

I have a few ideas… like allowing the criteria for inclusion to be configurable as something other than attendance at a specified event… or allowing the crawler to traverse a network of people connected via DOAP assertions rather than foaf:knows… or maybe allowing for galleries generated dynamically based on user input rather than a passive crawler, e.g., 1) choose seed node, 2) choose link relationship, 3) choose inclusion criteria, 4) generate gallery.

Anyway, if you’re interested in contributing ideas and or code, I’ve pushed my fork of the original app to Github:

Written on April 23, 2009