RE: iCalendar recurring schedules

Hi,

Your comments definitely got me thinking. Here are some caveats ...

> 1.  Use of ical:DATE as a property (on VCALENDAR object);  I
> believe it's 
> declared as a class.

I assume the ical:DATE you refer to is under the ical:UNTIL property
that gives the limit of the recurrence of the schedule. Looking at the
ontology, the Domain of #UNTIL (property under RECUR) is #RECUR and the
range is of type class #TimeEntry. And DATE is a subclass of TimeEntry.
Now this seems valid according to the intology but im not sure if I
should have a property under DATE which actually holds the value rather
than put the value under in the DATE tags themselves as follows...

<ical:DATE>20020502</ical:DATE> 

The comment in the Ontology mentions using the above format or the
XMLSchema datatypes. Maybe what I'm confused about is whether leaf nodes
of an RDF graph should always be properties (intuitively this seems to
be the way to go, but Im not sure). 


> 2.  Use of ical:REC-VEVENT rather than just ical:VEVENT;  I
> think that's 
> correct.  Looking again at the schema, what I do, viz 
> applying ical:RRULE 
> to an ical:VEVENT, isn't sanctioned.
> 

Right.

> [Libby:  I think REC-CAL-COMPONENT should be declared as sublcass of 
> CAL-COMPONENT, so that properties like DTSTART, etc., are expected.]

Looking at the ical ontology, REC-VEVENT is a subclass of VEVENT and
REC-CAL-COMPONENT. Since it is a subclass of VEVENT (and VEVENT is a
subclass of CAL-COMPONENT), properties like DTSTART are actually
available since the domain of DTSTART is CAL-COMPONENT. 

So while making the change you suggest (or adding REC-CAL-COMPONENT to
the domain of DTSTART etc) would improve readability its not essential,
but I'm being pedantic.

> 
> 3.  DTSTART has an explicit date.  Again, I think yours is 
> correct -- I 
> seem to remember thinking that I needed a date for the first 
> occurrence 
> when I read the iCalendar spec.  (But, for my application, 
> I'd rather not 
> bother;  small matter.)
> 

As I see it, the DTSTART is the first occurrence of the event and then
the recurrence rule takes care of repeating it appropriately. 

> 4.  Use of ical:DURATION rather that ical:DTEND -- I think either is 
> OK.   

I used DURATION rather than DTEND because intuitively it just seemed to
be better than giving an explicit date because I felt (unjustifiably)
that this could be confused with the end of the recurrence rather than
the first occurrence. 

> Except that I think it should be ical:DURATION-PROP 
> referencing an 
> ical:DURATION object (as your own comment says), itself with some 
> properties that I can't see mentioned in the schema.
> 
> [Libby:  is something missing here?]
>
 
This is indeed incorrect. I actually have DURATION under REC-VEVENT and
this is incorrect since they are both classes and this violates the RDF
striped syntax [2]. The DURATION-PROP you refer to is a property with
domain CAL-COMPONENT and range DURATION and so the corret way to do this
in my schedule [3] would be as follows...

<ical:REC-VEVENT rdf:ID="AILecture">
  <!--  Start date and time go here --> 
  <ical:DURATION-PROP>
	  <ical:DURATION>P0D0WT1H20M0S</ical:DURATION> 
  </ical:DURATION-PROP>

  <!-- More stuff goes here -->
</ical:REC-VEVENT>

The DURATION tags hold the value (P0D0WT1H20M0S) and this again troubles
me because once again the leaf node is not a property!

That was my two cents!

Cheers,

Rahul
http://www.cs.cmu.edu/~kingtiny

Received on Friday, 13 December 2002 16:07:43 UTC