The story of RdfCalendar so far...
RDF Calendar Task Force Report
Libby Miller and Dan Connolly
speaker's note: 30 min, incl q/a
- Why RDF Calendar?
- Cool stuff you can do
- Test-driven development
- Principles, Patterns
- Future directions
Why RDF Calendar?
- Calendars tools are great... (evolution, Apple iCal, korganizer, ...)
- a calendar, i.e. event data, is hard to separate from data about...
- ... resources of all sorts
- Gee... I know a description framework that just might work...
Cool Stuff: ToDo list from bug reports
- www-archive message headers are available in RDF
[closed]marks closed threads
- some rules convert them to RDF/iCalendary
- toIcal.py converts to .ics format
- developers subscribe to TODO list
details: bug status in .ics of 29Jan.
Cool Stuff: iCalendar from travel itinerary
- travel admin mails text itinerary
- dumped from database, probably
- nasty perl script makes RDF
- N3 rules convert to iCalendar vocabulary
- et voila...
- data re-use: maps:
see also: TravelTools
Cool Stuff: Event Sherpa
...Answer: Semaview is committed to the 'Intelligent Internet' or 'Semantic Web'. Whatever standard(s) emerge(s) as the defacto means of describing data in a machine understandable format, Semaview will adopt. Currently, RDF is best positioned to become the standard but Semaview recognizes that may change.
( product tour )
Cool Stuff: KANZAKI
History: Before the Workshop
- 1998: RFC2445
- 1998: XML
- 2001: TimBL's a Quick Look at iCalendar
- Palm datebook RDF model by Dan Connolly
- RDF interest group taskforce, 2001
The Bristol Workshop: Inputs
- 2001: 'Hybrid' RDF iCalendar schema by Michael Arick, Libby Miller
- 2000: iCalendar RDF Model Dan Connolly
- apple iCal, mozilla calendar
- Retsina by Terry Payne et al
The Bristol Workshop: Outputs
see also: workshop report
Mailing list, IRC ScheduledChats
Creating a public papertrail and a mechanism for
- Resolving ambiguities, clarifying and understanding the iCalendar specification
- Identifying best practice in the RDF part of the translation
- Deciding whether to divert from the letter of the iCalendar specifcation in order to do something useful in RDF
- Using consistent patterns throughout the conversion
- Documenting the decisions made and the reasons we made them (RdfCalendarDocumentation)
- Publicly announcing decisions and changes to the schema on the RDF calendar mailing list
- the iCalendar spec is too big
- start with data we believe/trust
BEGIN:VEVENT UID:20020630T230445Z-3895-69-1-7@jammer DTSTAMP:20020630T230445Z DTSTART;VALUE=DATE:20020703 DTEND;VALUE=DATE:20020706 TRANSP:OPAQUE SEQUENCE:2 SUMMARY:Scooby Conference LOCATION:San Francisco DESCRIPTION:can't wait!\n CATEGORIES:Miscellaneous CLASS:PUBLIC END:VEVENT BEGIN:VEVENT
- generate RDF by machine (ical2rdf.pl)
[ a :Vevent; :categories "Miscellaneous"; :class "PUBLIC"; :description "can't wait!\n"; :dtend [ :date "2002-07-06" ]; :dtstamp [ :dateTime "2002-06-30T23:04:45Z" ]; :dtstart [ :date "2002-07-03" ]; :location "San Francisco"; :sequence "2"; :summary "Scooby Conference"; :transp "OPAQUE"; :uid "20020630T230445Z-3895-69-1-7@jammer" ]
- inspect the RDF to check that we still believe it
- generate a schema from the results using swap/util/sniffschema
some technical detail in RdfCalendarSchema
Properties with enumerated values
- strings or URIs? - see PropertiesForNaming
Dates (background: workshop ref - dashes)
- iCalendar uses no dashes (20040301)
- XML Schema uses dashes (2004-03-01)
- we use dashes in RDF Calendar
- extract schema from RFC by machine
- add OWL constraints
- round-trip testing
- Worked examples (code, documentation):
Things for others to try...
- Best practices for mixing with other vocabularies
- use iTip for creating cardinality restrictions?
- converting RRSAgent action items to RDFIcal for loading into personal calendars
- how to describe an event that starts "next summmer"...