W3C home > Mailing lists > Public > www-rdf-calendar@w3.org > March 2003

Re: opening hours RDF cal use case

From: Graham Klyne <GK@ninebynine.org>
Date: Thu, 13 Mar 2003 12:33:25 +0000
Message-Id: <5.1.0.14.2.20030313122446.0266e2f0@127.0.0.1>
To: Dan Brickley <danbri@w3.org>, www-rdf-calendar@w3.org

Dan,

At a quick glance, this looks very similar to the network access use-case I 
have been working on (and am working to extend to Linux firewall 
configuration, BTW).  I'm not sure from this message what your specific 
problem may be.

I think the 'Currently [OPEN]' aspect is an interesting challenge, as I 
think it will require some inference capabilities that are knowledgeable 
about time and calendar values.  But I don't see that as a data-mixing 
problem, which seems to be your thrust.

Turning to your specific question... the approach I tool was, rather than 
listing some open and closed values, to simply list the "open" times (or, 
in my case, "access allowed") associated with a particular access 
permission.  This was done reasonably easily with Libby's Hybrid schema, 
and we have started to rework these using the new schema.  E.g. (in N3):

[[
homenet:PlayTimes a ical:Vcalendar ;
     user:rangeName          "PlayTimes" ;
     rdfs:label              "Times that non-work access is allowed" ;
     ical:component
       [ a ical:Vevent ;
         ical:dtstart
           [ a ical:Vtime ;
             rdf:value       "T084500" ] ;
         ical:dtend
           [ a ical:Vtime ;
             rdf:value       "T101500" ] ;
         ical:rrule
           [ a ical:Vrecur ;
             ical:freq       "WEEKLY" ;
             ical:interval   "1" ;
             ical:byday      "MO,TU,WE,TH,FR" ]
       ] ;
     ical:component
       [ a ical:Vevent ;
         ical:dtstart
           [ a ical:Vtime ;
             rdf:value       "T160000" ] ;
         ical:dtend
           [ a ical:Vtime ;
             rdf:value       "T164500" ] ;
         ical:rrule
           [ a ical:Vrecur ;
             ical:freq       "WEEKLY" ;
             ical:interval   "1" ;
             ical:byday      "MO,TU,WE,TH,FR" ]
       ] ;
     ical:component
       [ a ical:Vevent ;
         ical:dtstart
           [ a ical:Vtime ;
             rdf:value       "T200000" ] ;
         ical:dtend
           [ a ical:Vtime ;
             rdf:value       "T220000" ] ;
         ical:rrule
           [ a ical:Vrecur ;
             ical:freq       "WEEKLY" ;
             ical:interval   "1" ;
             ical:byday      "MO,TU,WE,TH,FR" ]
       ] ;
     ical:component
       [ a ical:Vevent ;
         ical:dtstart
           [ a ical:Vtime ;
             rdf:value       "T084500" ] ;
         ical:dtend
           [ a ical:Vtime ;
             rdf:value       "T111500" ] ;
         ical:rrule
           [ a ical:Vrecur ;
             ical:freq       "WEEKLY" ;
             ical:interval   "1" ;
             ical:byday      "SA,SU" ]
       ] ;
     ical:component
       [ a ical:Vevent ;
         ical:dtstart
           [ a ical:Vtime ;
             rdf:value       "T160000" ] ;
         ical:dtend
           [ a ical:Vtime ;
             rdf:value       "T220000" ] ;
         ical:rrule
           [ a ical:Vrecur ;
             ical:freq       "WEEKLY" ;
             ical:interval   "1" ;
             ical:byday      "SA,SU" ]
       ] ;
     rdfs:comment
         """
         Designated play times:
           weekdays: 08:45-10:15, 16:00-16:45, 20:00-22:00
           weekends: 08:45-11:15, 16:00-22:00
         """ .
]]

(The above is a little dubious to the extent that no start date is given 
for the recurring events.  Personally, I think that's the natural way to do 
this kind of thing.)

#g
--

At 12:28 12/03/2003 -0500, Dan Brickley wrote:

>(I was going to talk about this in the IRC chat but I figured an
>email might be a bit more coherent)
>
>RDF calendar for small business opening hours Use Case
>======================================================
>
>I think Greg Fitzpatrick has done a lot of thinking on this topic. I don't
>have a handy pointer to prior writeups though.
>
>I understand the RDF calendar vocab at http://www.w3.org/2002/12/cal/
>now has a representation of recurring events. Here's a use case that
>emphasises RDF's strong points: data mixing.
>
>I would like to use RDF calendar 'recurring events' to represent opening
>hours of shops and other services. In particular I'm interested in using the
>Semantic Web to support local small businesses, by mixing descriptions of
>their opening hours with other useful information: homepage of shop,
>opening hours, contact info, photograph of premises, lat/lang/alt location
>information, some indication of product lines and individual items for sale.
>
>I think I've a handle on how to do most everything except the calendar stuff.
>
>Here's an example, any help with expressing their opening hours in RDF
>would be greatly appreciated!
>
>http://www.tuftslife.com/dining/menuview.php?ID=00029&pg=4
>(from a restaurant info aggregator)
>
>This lists the menus and other info for local restaurants here in
>Somerville, MA USA.  The menus are currently images of paper menus, so
>there is scope for progress there. See also http://chefmoz.org/rdf.html
>for more RDF/food work.
>
>The bit I'm currently interested in is this:
>
>It says, 'Currently [OPEN]', based on info about opening hours. Their
>summary for the 'Urban Gourmet' place around the corner from here:
>
>         [[
>         Monday      Closed
>         Tuesday      4:00pm - 11:00pm
>         Wednesday      11:30am - 11:00pm
>         Thursday      11:30am - 11:00pm
>         Friday      11:30am - 11:00pm
>         Saturday      11:30am - 11:00pm
>         Sunday      11:30am - 11:00pm
>         ]]
>
>So longwinded question unpacked: how do I express this in RDF? Can we
>use recurrence rules expressed over ical in RDF as the basis? Is extra
>vocab needed?
>
>thanks for any suggestions,
>
>Dan

-------------------
Graham Klyne
<GK@NineByNine.org>
PGP: 0FAA 69FF C083 000B A2E9  A131 01B9 1C7A DBCA CB5E
Received on Thursday, 13 March 2003 08:34:30 GMT

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