Category Archives: RDFical

Images and calendars

I’ve been playing around with displaying my photos as a calendar, as I mostly use them to remember what I’ve been doing, so I thought it might be useful. I’ve used Masahide Kanzaki’s neato client-side XSLT and Javascript together with a hacked perl script – more info.
It seems to work pretty well (when it does work – in Mozilla-based browsers and Explorer). There are a couple of minor bugs. Once issue with using the clientside stuff is that you can’t link directly to a month – only a year. Also, because it’s XSLT and so document-based it’s going to be trickier to add in my actual calendar data and say, moblog image data.
I’m quite pleased with it though – an interesting different view on the pictures. Wish I’d had a better camera pre-2003 …

Calendaring and RDF

Leo’s talking about it and having problems finding good and consistent information about it. This is really my bad…I promised I would find time to document what we’ve done in a much more human readable way but I just haven’t had time. Masahide Kanzaki’s summary is very cool, though I think slightly out of step with the most recent changes to the schema (and Masahide wasn’t happy with those changes).
So this is very much an activity (a taskforce of the Semantic Web Interest Group) that depends on people’s interest and enthusiasm, which seems to have petered out at the moment. This has happened before and the mojo of the group always comes back. At the moment though, it’s clear that the work is in a state such that people can’t easily pick it up and play with it, despite all the good stuff that’s out there.
At the same time, the IETF Calsch working group (who created iCalendar and related RFCs) are starting to stir and sort out their priorites for further work. One suggestion is perhaps to simplify iCalendar, something that a lot of our RDF iCal users would like I think.
As to the future….these would be my priorities:

  • stablize (a subset of?) the schema
  • fix up the documentation
  • specify a subset of icalendar/RDF iCalendar that’s mostly interoperable and expresses what we want
  • work out how to identify events
  • provide some examples of mixing vocabularies together, espcially GEO, images and RSS 1.0
  • perhaps specify an XML profile of it (using schematron perhaps?)
  • relax and watch as everyone moves to using RDF iCalendar 😉

Update: Dan Connolly has suggested some ways forward.

RSS+events module

From Chris Heathcoate’s art rss aggregator I found an updated version of RSS+events module. I’m really pleased to see that it’s been updated so that the event is a ‘thing’ in itself and isn’t confused with the webpage describing it, and that geo:Point has been added for geographical data. Couple of problems: I don’t think it’s legal RDF any more (the geo:Point part should use a property); and start and enddate semnatics and modelling means that it’s not possible to roundtrip from iCalendar, which I think is a shame.
So the geo:Point part could be fixed by doing this:
<item rdf:about=”http://www.oreilly.com/catalog/progxmlrpc/”&gt;
<title>Programming Web Services with XML-RPC</title>
<link>http://www.oreilly.com/catalog/progxmlrpc/</link&gt;
<ev:item>
<rdf:Description>
<ev:startdate>2001-06-20</ev:startdate>
<ev:type>book release</ev:type>
<ev:location rdf:parseType=”Resource”>
<geo:lat>39.04</geo:lat>
<geo:long>-95.69</geo:long>
</ev:location>
</rdf:Description>
</ev:item>
<dc:subject>XML-RPC</dc:subject>
<dc:subject>Programming</dc:subject>
</item>
OR
<item rdf:about=”http://www.oreilly.com/catalog/progxmlrpc/”&gt;
<title>Programming Web Services with XML-RPC</title>
<link>http://www.oreilly.com/catalog/progxmlrpc/</link&gt;
<ev:item>
<rdf:Description>
<ev:startdate>2001-06-20</ev:startdate>
<ev:type>book release</ev:type>
<ev:location>
<geo:Point>
<geo:lat>39.04</geo:lat>
<geo:long>-95.69</geo:long>
</geo:Point>
</ev:location>
</rdf:Description>
</ev:item>
<dc:subject>XML-RPC</dc:subject>
<dc:subject>Programming</dc:subject>
</item>
Start and Enddate.
The semantics of no timezone for these in iCalendar RFC 2445 are that where no timezone is specified the event starts (or ends) at the same time everywhere. So if we had <ev:startdate>2001-06-20T10:00:00</ev:startdate> that would be 10 am at all timezones. With a timezone (according to W3CDTF), we have
<ev:startdate>2001-06-20T10:00:00Z</ev:startdate> or
<ev:startdate>2001-06-20T10:00:00-0500</ev:startdate>
i.e. at 10am in a particular timezone.
This is a less significant issue when only dates are considered and not times.
As the authors of the new version of the events module indicate, W3CDTF version of timezones is not sufficient to calculate the current time because it cannot handle the change from daylight savings time. This is why the iCalendar specification says that you must include a timezone identifier and a description of the timezone in the same file.
This is why in the competing RDFical we have made the dates objects so we can attatch timezone information to them. This brings its own significant issues, but works with iCalendar so that roundtripping is possible.
Is roundtripping important? I think so…there are so many tools using iCalendar, including Outlook, Evolution, Mozilla Calendar, Apple iCal, and many mobile phones, that it makes sense to be able to convert back into a form that all our other devices and applications understand.