a syntactic approach to RDF/ical interchange

Picking up from earlier discussion here in rdf-calendar...

"Dan Connolly has said to me that the iCalendar RDF schema is useful to
him because it directly mapps to iCalendar itself, and that conversion
between formats is just fine as far as he is concerned."

That's pretty close to what I meant, but what I really
meant was: an iCalendar RDF schema is useful *inasmuch*
as it directly maps to iCalendar itself.

I took this approach rather literally in the last few months:
I wrote the smallest (in time-to-develop) program that
would extract ical info from an RDF KB and spit it out in
ical format -- at least: in a format that evolution,
my ical tool, groks.

I reported on this back in January...

More recently, I started going the other way: taking
my evoluiton .ics file and trying to convert it to
RDF, with the minimum-time-to-develop perl hack.

For some reason, I started in
on vcal2xml.pl . But after it started working,
I decided I would integrated it more with
the other SWAP PIM tools, so I put it at

While I was cleaning up and moving into swap/pim,
I decided to take a sort of scruffy approach
to building a schema: take some test data
convert it to RDF
and build a schema from whatever properties are used

Here are the rules for sniffing a schema from some data:
and the makefile that details how I did it:

To close the loop, I just updated my toIcal.py
tool to this swap/pim/ical namespace (the
Jan 2002 version used the hybrid schema):


it still only supports a handful of properties,
but it's enough to get flight info into
my calendar. Well... actually, I haven't
tested this updated code on that application.

I ought to close the loop: see what, if any, differences
there are between my completely syntax drive/bottom-up
ical schema and the hand-written ical schema.


Meanwhile, I gather Libby isn't using
the hybrid schema actively any more, so
I'm not sure that's high on my priority list.

The main goal of these tools (toIcal.py and ical2rdf.pl)
is interchange (import/export) with ical tools like

I hope to get clean round-tripping of my test .ics
files eventually.

Does anybody have .ics files generated by some other
tool? I could add that to my test data.

Also, if you find that the .ics generated by toIcal.py
isn't accepted by some ical tool, please let me know.

Dan Connolly, W3C http://www.w3.org/People/Connolly/
see you in Montreal in August at Extreme Markup 2002?

Received on Tuesday, 23 July 2002 18:05:38 UTC