SWAD-Europe Deliverable 12.3.1: Transformation libraries for RDF

Project name:
Semantic Web Advanced Development for Europe (SWAD-Europe)
Project Number:
IST-2001-34732
Workpackage name:
12.3. Visualisation demonstrator
Workpackage description:
http://www.w3.org/2001/sw/Europe/plan/workpackages/live/esw-wp-12.3
Deliverable title:
Transformation Libraries for RDF
URI:
http://www.w3.org/2001/sw/Europe/reports/viz_rdf_transform_library_impl
Authors:
Charles McCathieNevile, W3C
Abstract:
This report describes code produced to convert information to RDF from another format which has wide use, and vice versa.
Status:

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/

Contents


  1. Introduction
  2. Background
  3. Implementation
  4. Collaboration
  5. Future Work
  6. Outcomes
  7. Frequently Asked Questions (FAQs)
  8. References

1 Introduction

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.

2 Background

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.

3 Implementation

Xforms

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.

RDF-iCal

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.

4 Collaboration

Xforms

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.

RDF-iCal

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.

5 Dissemination

Xforms

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.

RDF-iCal

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.

6 Future work and lessons learned

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.

7 Outcomes

8 Frequently Asked Questions (FAQ)

What software is available?

Xforms

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]

Calendar:

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].

Where do I find the RDF calendar schema?

The schema for representing iCal information in RDF is available for general use.

9 References

Conversion tools, specifications and documents

[axforms]
Xforms tools for EARL information - in particular Web Content Accessibility Guidelines evaluations. Available from http://www.w3.org/2001/sw/Europe/200305/axforms/intro
[esw-cal]
The SWAD-Europe Wiki page on calendaring is available at http://esw.w3.org/topic/RdfCalendar
[ical-schema]
The schema for representing iCal information in RDF is available at http://www.w3.org/2002/12/cal/ical.rdf
[ical-tools]
RDF calendaring developer information, including links to available tools is available at http://www.w3.org/2002/12/cal/#dev
[rdf-cal]
the mailing list www-rdf-calendar@w3.org is publicly archived at http://lists.w3.org/Archives/Public/www-rdf-calendar
[xfoaf]
An initial, experimental set of Xforms tools for FOAF information. Available from http://www.w3.org/2001/sw/Europe/200305/foaflang/xfoaf

Other references

[CAL-WS]
Developer Workshop Report 2 - Semantic Web calendaring is a report on the SWAD-Europe developer workshop that brought a number of calendaring efforts together. The report is available at http://www.w3.org/2001/sw/Europe/reports/dev_workshop_report_2/
[EARL]
EARL (The Evaluation and Reporting Language) is a specification in development by the W3C's Evaluation and Repair Tools group. It is an RDF vocabulary for expressing conformance to arbitrary requirements. The Latest published draft is available at http://www.w3.org/TR/EARL10
[FOAF]
The Friend of a friend project uses RDF to describe people, relationships, their interests and other "everyday" information. Information is available from the homepage at http://www.foaf-project.org
[ICAL]
The iCalendar specification is available from the IETF. Although IETF URI's are not reliable, it was available in January 2004 at http://www.ietf.org/rfc/rfc2445.txt
[W3C-LICENSE]
The W3C Software Copyright license is a BSD-style license allowing the free use of software in open-source or proprietary products with appropriate acknowledgement. The full license is available at http://www.w3.org/Consortium/Legal/copyright-software
[WCAG]
The Web Content Accessibility Guidelines are a W3C Recommmendation explaining how to ensure that content is avaialble to users with disabilities. Available at http://www.w3.org/TR/WCAG10
[XFORMS]
The Xforms language provides a device-independent way to specify interactions which would normally be handled with a form. Information is available from the Working Group home page at http://www.w3.org/MarkUp/Forms