First version published 2002-11-23. This is a completed
report, last updated 2004-01-16.
This document may be updated during the life of the SWAD-Europe project
to reflect or link to further developments in this area.
Comments on this document are welcome and should be sent to the public-esw@w3.org list, archived at http://lists.w3.org/Archives/Public/public-esw/. General discussion of conversion techniques should be sent to www-rdf-interest@w3.org which is archived at http://lists.w3.org/Archives/Public/www-rdf-interest. Discussion of iCal conversion in particular should be directed to www-rdf-calendar@w3.org, archived at http://lists.w3.org/Archives/Public/www-rdf-calendar. Discussion of Xforms in particular should be directed to the mailing list www-forms@w3.org, archived at http://lists.w3.org/Archives/Public/www-forms/
This report is part of SWAD-Europe Work package 12.3: Visualisation Demonstrator. and addresses the scope, features and purpose of tools for converting information between RDF and non-RDF formats, which are licensed as Free Software or Open Source.
For those in a hurry: go straight to the outcomes section
Because conversion to RDF is almost automatic for XML formats, one focus of this report is the widely used iCalendar [ICAL], which encodes calendar information. This work takes opportunistic advantage of some international collaboration in this area stemming from the workshop on calendaring [cal-wshop] held in Bristol, as an earlier part of the SWAD-Europe project.
The other area of work, concentrated within this project, was demonstrating the use of Xforms [XFORMS] to treat RDF data - importing RDF into XML tools, enabling users to manipulate the data as if it were simple XML, and taking advantage of the fact that RDF has an XML syntax to obviate the need for re-conversion.
The Web has been developed through a decentralised process, with many different people and organisations creating data formats.
XML is currently the dominant grammar for information on the Web, including the basic syntax of RDF. There are some other formats used for special pruposes.
Converting information from specific-purpose XML (or other format) to RDF allows for it to be merged and treated in the richer way that RDF enables. Conversely, the ease of producing tools for specific-purpose data formats has been one of the factors leading to the success of XML. It is therefore useful to take RDF information and be able to represent it in a specific-purpose format for easy manipulation with existing tools.
The Xforms work is implemented as publicly available code, with documentation and examples in english, and documentation in spanish. It has been developed and tested using the Finnish open source X-smiles browser, but should run in any of the wide variety of Xforms processing tools. There are tools for manipulating [EARL] information [axforms], and for creating and manipulating personal information [xfoaf] using the widely implemented [FOAF] vocabulary.
An RDF schema [ical-schema] for representing calendar information was generated based on a set of test cases contributed. Tools [ical-tools] have been created for converting iCal information to this RDF schema, and for going the other way. Further development is anticipated in linking these two areas, by applying the techniques of the Xforms tools to manipulation of calendar data as an extension to existing functionality.
The development of this work was done in collaboration with the developers of the Finnish open-source browser X-smiles, and with Mozquito, german-based developers of the DENG browser, including Sebastian Schnitzenbaumer, co-chair of the Xforms working group.
Further debugging and some translation improvements took place in Sidar's accessibility tools interest group.
The RDF calendar task force created a mailing list [rdf-cal] and a Wiki page [esw-cal] which were used for collaboration during the development of the schema and tools. As well as European developers, W3C-MIT staff and other international developers were involved in the work, and produced a number of the tools and test cases.
These tools have been demonstrated within W3C's WAI, through Sidar's activity in Spain and South America, in Australia (to a nationally-funded development project), and to developers working in W3C's Advanced Development activity based in the USA, as well as the W3C Quality Assurance Activity. Discussion of this work has taken place on a number of european mailing lists, in english, french, italian and spanish.
As well as the use of the collaboration fora [rdf-cal, esw-cal] described above, the work has been disccussed through the RDF interest group as the topic of calendar representation keeps arising.
Continuing development is taking place in the use of Xforms to manipulate RDF. It provides a relatively simple means for authoring specific-purpose RDF, which is easily extensible. As more Xforms support becomes available, in particular for authoring tools, this shows great promise.
The ability to integrate Xforms into a variety of host languages (HTML, SVG, etc) suggests that the further development of adaptable, relatively intuitive interfaces for manipulating RDF will be an important benefit of this integration between the "XML tool set" and RDF systems.
The querying functionality of Xforms is fairly simplistic. It is sufficient for working with simple RDF, but it is not yet clear whether it can handle such important concepts as inferences that if X is a subClass of Y, and P is of type X, then P is also of type Y.
Use of RDF for calendar information seems valuable in the context of work on managing personal information, taking advantage of the easy merging of RDF data to more seamlessly link what are traditionally a collection of programs people use to organise various aspects of the work and personal life.
A clear issue raised by the calendaring work is the best way of treating calendars beyond the Gregorian - the Chinese, Hejiri, Jewish and others are in current use and some users need historical calendaring systems such as the Roman or pre-Gregorian calendars. Some approaches to this have been described, but not yet implemented.
axforms [axforms] and xfoaf [xfoaf] are available at http://www.w3.org/2001/sw/Europe/200305, and run in Xforms-capable browsers such as x-smiles, or in Xforms plugins. They are available under the terms of the W3C software license [W3C-LICENSE]
Tools for calendar conversion [ical-tools] are available. Open source software for converting iCal to RDF in JAVA is available (under the terms of the GPL license), while the PERL ical2RDF (for converting iCal to RDF) and the python script toIcal (converting RDF calendar information to iCal format) are available under the terms of the W3C software license [W3C-LICENSE].
The schema for representing iCal information in RDF is available for general use.