W3C home > Mailing lists > Public > www-rdf-calendar@w3.org > July 2002

a syntactic approach to RDF/ical interchange

From: Dan Connolly <connolly@w3.org>
Date: 23 Jul 2002 17:05:50 -0500
To: www-rdf-calendar@w3.org
Cc: Tim Berners-Lee <timbl@w3.org>
Message-Id: <1027461950.27575.825.camel@dirk>

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."
 --
http://lists.w3.org/Archives/Public/www-rdf-calendar/2002May/0000.html

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...
http://lists.w3.org/Archives/Public/www-rdf-calendar/2002Jan/0002.html

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
  http://dev.w3.org/cvsweb/2001/palmagent/
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
  http://www.w3.org/2000/10/swap/pim/ical2rdf.pl

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
  http://www.w3.org/2000/10/swap/test/pim/testCal.ics
  http://www.w3.org/2000/10/swap/test/pim/testTasks.ics
convert it to RDF
  http://www.w3.org/2000/10/swap/test/pim/testCal.rdf
  http://www.w3.org/2000/10/swap/test/pim/testTasks.rdf
and build a schema from whatever properties are used
there:
  http://www.w3.org/2000/10/swap/pim/ical
  http://www.w3.org/2000/10/swap/pim/ical.rdf
  http://www.w3.org/2000/10/swap/pim/ical.n3

Here are the rules for sniffing a schema from some data:
  http://www.w3.org/2000/10/swap/util/sniffSchema.n3
and the makefile that details how I did it:
  http://www.w3.org/2000/10/swap/pim/Makefile

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):

  http://www.w3.org/2000/10/swap/pim/toIcal.py

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.

  http://ilrt.org/discovery/2001/06/schemas/ical-full/hybrid.rdf

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
evolution.

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 GMT

This archive was generated by hypermail 2.2.0 + w3c-0.30 : Friday, 25 March 2005 11:20:42 GMT