Calendars, Schedules and the Semantic Web
by Terry R. Payne and Libby Miller
The emergence of the Semantic Web has simplified and improved knowledge reuse across the Internet. By committing to various ontologies, an agent can now understand and reason about published information such as calendar events and schedules to meet its user's needs and provide assistance. We illustrate the benefits of garnering schedules from the Semantic Web for agent-based assistance, and introduce other initiatives being pursued by the RDF Calendar Taskforce.
Scheduling meetings can be tedious and time consuming, and involves collating information from multiple sources - colleagues, family, friends, Web pages and organisations - about events which may or may not happen in multiple locations and timezones, an arbitrary period ahead. Many scheduling applications require up-to-date knowledge of each user's schedule in order to automate the process of finding mutually agreeable appointments for several attendees. However, the methods used to publish Web-based schedules (eg train timetables or conference schedules) renders them opaque to machine comprehension, thus forcing users to enter these events into their calendars manually.
The Semantic Web supports the creation of Web pages containing structured, meaningful knowledge. These pages can be parsed to elicit relevant information, and through reference to published ontologies, agents can understand and reason (using DAML/OWL-based description logics) about this knowledge to provide user assistance. Thus, by defining schedules on the Semantic Web, agents can reason about not only when events occur, but where they occur and which individuals are attending them.
Access to users' calendars, including their location and availability, is pivotal for providing assistance in many domains. For this reason, various ontologies have been defined for representing schedules, and several agents and applications have been developed to explore how this resultant knowledge can be utilised. Whilst most calendaring applications use the iCalendar format (RFC 2446), a self-contained, text-based representation suitable for sharing and presenting event information, the lack of semantics limits the level of reasoning that can be performed. For example, using iCalendar, Jim's agent cannot reason about whether or not Jim's friend 'Bob' is the same 'Bob' who is presenting at a conference. Likewise, it cannot determine if the conference is close to the user's current location. Thus, it is unable to make decisions that reflect Jim's preferences, such as scheduling lunch with Bob at a nearby Thai restaurant.
As part of the RDF Calendar Taskforce, we have developed several tools and vocabularies to address this problem. The development of the hybrid RDF calendar ontology was based on Tim Berners-Lee's analysis of an RDF adaptation of iCalendar. Several conference schedules have subsequently been published using this ontology (see Figure 1), and can be queried and viewed using simple RDF query tools. As RDF supports the creation of concepts (such as contact details or locations) as distributed resources indexed by a URI, schedules can reuse existing concepts defined elsewhere. Thus, agents can reason about the resulting schedules (coupled with the ontology definitions and associated axioms) and hence perform tasks such as the above lunch-scheduling task.
<dc:title>Trading Agent Competition 2001 Workshop</dc:title>
<ical:LOCATION rdf:resource="#HRTampa" />
<ical:ATTENDEE rdf:resource="http://www.daml.ri.cmu.edu/people.rdf#yn" />
|Figure 1: A Hybrid RDF schedule containing two events.
The RCAL agent exploits the structure and semantics of schedules defined using the hybrid RDF calendar ontology by providing browsing, importing, reasoning and distributed meeting scheduling functionalities. Users can import schedules into Microsoft's Outlook 2000(TM), and compare them with existing appointments to identify conflicts. Meetings can be automatically scheduled between several users, using the Contract Net Protocol to locate mutually agreeable times. Notifications associated with events can be sent to mobile devices to alert users when they are about to start. Imported events are also monitored, and the user is notified if these events change.
Other tools and ontologies have emerged from the Calendar Taskforce. A vocabulary similar to that used by Palm PDAs has been developed in tandem with tools that can synchronise these devices with RDF data. Conversion tools that map between the iCalendar and xCalendar formats (an XML format for iCalendar) have been developed and adapted to generate the modified Palm format from the Mozilla calendar. Translation Services that convert schedules defined by other ontologies (eg DARPA Meeting Agenda Ontology) into hybrid RDF calendar markup have been developed; these Web services are located and invoked automatically when RCal encounters new markup. Members of the EC-funded SWAD-Europe project are experimenting with RSS 1.0 and its events module, a simple subset of iCalendar in RDF. For planning purposes we require information about deliverables, meetings, and related events (eg conferences) to be used in scheduling. We use various tools (eg the XHTML-RSS converter) to store, transform, merge and view event information to simplify planning. Our aim is to demonstrate the utility of these tools and the Semantic Web by 'eating our own dogfood', ie using the very tools our work is promoting.
Once people make their events information available in RDF, we can not only show why it is now useful to do this but we can also use that data to create more advanced research scheduling applications. In this sense, calendaring provides a partial answer to the question - how do we get from here (HTML web) to there (Semantic Web)?
Terry R. Payne, University of Southampton
Tel: +44 23 8059 3255
Libby Miller, University of Bristol
Tel: +44 117 928 7113