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

ical schema based on 1 test case: mtg.ics

From: Dan Connolly <connolly@w3.org>
Date: 20 Dec 2002 01:18:33 -0600
To: www-rdf-calendar@w3.org
Message-Id: <1040368713.19698.177.camel@dirk.dm93.org>

Following from our discussion today about the new workspace

I took the test/mtg.ics file that timbl checked in,
then I took ical2rdf.pl from 2000/10/swap, enhanced
it to convert dates to YYYY-MM-DDTHH:MM:SS form,
and produced test/mtg.rdf

Then I put together a makefile that builds ical.rdf
by running sniffSchema.n3 over the input data file.

The result looks like this:

><Vcalendar rdf:about=''>
    <prodid>-//Apple Computer\, Inc//iCal 1.0//EN</prodid>
    <summary>icalendaring #rdfig meeting</summary>
    <dtend rdf:parseType='Resource'>
    <dtstart rdf:parseType='Resource'>

[you may get the occasional 403 error when
surfing around 2002/12/cal/* ; the auto-public-chacl
request was queued, but it hasn't been serviced yet.]

Some design choices I'd like confirmation on...
maybe these belong in the schema or in some
other documentation...

capitalization: RFC2445 specifies case insensitivity
for the .ics equivalent of these class and property
names, so it seems best to normalize. TimBL and I
agreed that camelCase, the RDF convention, is
the way to go. Hyphens in the .ics syntax are
treated as word boundaries. Class names get
initial caps.

prodid: I really wanted to turn this into a URI
to use as the namespace name for x- names, but
due to look-ahead issues, I use a command-line
arg for the x: namespace name.

apple's extensions: I chose the name
for a namespace for apple's extensions. I haven't
fixed the 404 there yet.

calscale: previously, I treated GREGORIAN as a symbol
(i.e. a URI) rather than a string. I backed
that out because I don't think calscale is
worth bothering with. I've never seen anything
other than GREGORIAN, and the semantics
of anything else isn't even specified by
RFC 2445.

datatypes: I'm mostly using lexical forms...
the value type for sequence is integer,
but I didn't put rdf:datatype="...integer" there;
I just treated it as a numeral.
I'm turning ical value types in to interpretation
in the case of dtstart and dtend, since the
timezone stuff prevents those from being plain strings.
ical2rdf.pl knows explicitly about ical value types;
it converts dates from YYYYMMDD to YYYY-MM-DD.

Stuff still todo:

 * more data: my evolution calendar
 * more data: timezone files

In the process of doing the YYYY-MM-DD
conversion, I'm sure the code regressed
w.r.t. the swap/pim version of ical2rdf.
So I more testing is needed to rcover
the lost ground.

 * converting back from .rdf to .ics,
	checking the round-trip

 * export the information in the %ValueType
	array in the code into the ical.rdf schema

Not to mention how-to style write up and such,
which I count on other folks to do.

Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Friday, 20 December 2002 02:18:32 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:14:11 UTC