Actually the same as last post, except now it mostly works. This blog was down (silly mistake by me, fixed by Reto - thanks!) so I dumped everything on the ESW Wiki : SparqlTimeline. It's not live, but could easily be. Screenshot, screenshot.
The code won't run from local fs (some of the stuff is loaded via url), and I'd forgotten about escap'ng apostrophes for JSON (bah, lost the link - think the search & replace I've used was one of Bob DuCharme's).
Although here I was just using blog data offline, what's cool is
that *any* data containing a date (why does it even have to be a
date?) can be used with minor tweaks, and there's no reason why the
data shouldn't come from a live source. (To have it continuously
updating as you scroll will need a little Ajax magic, but I'm sure
that would be doable).
Aside from play, the reason I was trying this was I needed to add some cool points to a microformats demo for Web 2.0 the Book. I personally think SPARQL is ideal for Web 2.0 apps (and I'm not the only one). But the microformats demo I was working on hit a snag - half the magic of GRDDL relies on source data such as microformat XHTML, being XML and for there to be a profile URI in the HTML. Hardly any live microformat stuff fulfils those. Sure, both fairly easy to work around, but when the slick demo code starts filling with nasty hacks, something has to go. Under other circumstances I might have just made up some artificial data that worked. But that just didn't seem right for microformats/Web 2.0.
So reluctantly I decided to drop the multi-microformat mashup coolness. I couldn't actually find any good data which includes common entities across docs anyhow, e.g. this PAW Meeting is marked up with hCalendar, but how does that connect to the hCards of the participants?
So I decided to fill the mashup hole with cool visualization: hCalendars -> GRDDL -> store -> SPARQL -> Timeline.