ical, foaf and movable type

upcoming.org is a nice idea, but too centralised for my liking. Instead I’d like to be able to use something like an events calendar for mt to get thousands of people generating rdf versions of icalendar perhaps as RSS feeds, to give something meaty for a foaf application. Where are my friends going to be this month? Ask foaf-cal…or maybe just ask them 🙂

There’s always a danger of duplication between calendars. And of course there’s no mechanism for security, private events; and information about semi-public events – events currently hidden by obscurity for example – could become inadvertantly rather public. But it’s still an interesting idea, and one that seems to be occuring in some form to several people already. I wish I had more time to spend on calendar-related stuff.
So what would it need?
– identification of events. foaf:homepage would do for this. Then you could do interesting searches – who is planning to go to the event with foaf:homepage http://www2004.org? who that I foaf:know is planning to go? In squish:
select ?mb
(ical:attendee ?event ?ca)
(ical:calAddress ?ca ?mb)
(foaf:homepage ?event http://www2004.org)
(foaf:mbox ?per ?mb)
(foaf:knows ?me ?per)
(foaf:mbox ?me mailto:libby.miller@bristol.ac.uk)
using foaf for http://xmlns.com/foaf/0.1/ ical for http://www.w3.org/2002/12/cal/ical#
try this query (uses squish rdf query demonstrator and some demo files, and my foaf file).
or translated: find me people I know who say that they plan to attend the event. Or maybe even more interesting: tell me who is attending the events I am attending (like Dan Connolly’s pathcross experiments.
Practically, you would need something to say in mt that this was an event. The date could come from the mt calendar itself (can you add stuff in the future?). You’d need some way of specifying the event homepage. And some way of distinguishing (using foaf and RDFical) the cases where I plan to attend; I’ve heard it’s going on (the latter more like the Apple ical export), the former saying something more interesting and perhaps more controversial. I should stop writing and program something.