TopQuadrant RDFa Implementation Report

July 18th, 2008

Authors:
Jeremy J. Carroll <jeremy@topquadrant.com>
Holger Knublauch <holger@topquadrant.com>
Gokhan Soydan <gsoydan@topquadrant.com>

Abstract

TopQuadrant's TopBraid™ products support RDFa, both as an input format (via third party RDFa readers), and as an output format, using an RDFa editor. Input supports HTML via jtidy. We are currently upgrading our RDFa editor to have better wysiwyg capabilities.

Status of This Document

This document is TopQuadrant's response to the call for implementations of RDFa by the Semantic Web Deployment Working Group and the XHTML 2 Working Group.

Introduction

TopQuadrant™ have supported RDFa in its products since September 2006. We are pleased to help support the transition to W3C Recommendation, by providing a report on our implementations.

We have the following three areas of implementation:

  1. All our products accept RDFa input from XHTML and HTML files.
  2. TopBraid Composer™ has a basic RDFa editor with the following features:
  3. In development we have a more advanced RDFa editor with:

Our products are commercial, closed-source offerings.

In this report:

Outline of the TopBraid Suite™

The TopBraid Suite of products has three main components: a Semantic Web editor (TopBraid Composer™); a semantic web server; and client components that connect with the server.

All our products integrate third party components, both open source and commercial. For example, we use Jena as our primary Semantic Web framework, and we use Fabien Gandon's XSL transform to read RDFa.

TopBraid Composer™ is implemented as a rich client platform using the eclipse framework.

The server is built using the equinox framework, also from the eclipse foundation, and hence shares much code with the editor. As with TopBraid Composer™, Java is the programming language used.

The client components are built in Adobe's flex/actionscript framework.

Commercially, TopBraid Composer™ is licensed both in a Standard Edition and TopBraid Composer Maestro Edition™. The server and client components are licensed together as TopBraid Live™. Finally, TopBraid Ensemble™ is a specific client for TopBraid Live, built from the client components.

RDFa input

RDFa input was first available in September 2006. The initial implementation was our own RDFa parser, but more recently we have used first Jena's RDFa support, and now more directly Fabien Gandon's XSL (to bypass the security issues with GRDDL). We call tidy before extracting RDFa, so that we support HTML as well as XHTML.

RDFa is one of the many different forms of RDF input accepted by our products. Other input forms include GRDDL, RDF/XML, N3, relation databases via D2RQ, spreadsheets, RSS and SPARQL. The input code is shared between TopBraid Composer and the TopBraid Live server, so all our products can read RDFa.

The Basic RDFa Editor

This functionality was first available in January 2007.

screen shot of the RDFa editor

The syntax highlighting of RDFa keywords (in green) can be seen in the top left HTML editor in the screen shot.

The values of RDFa attributes can be filled in using drag-and-drop or auto-complete from the ontology (open on the right) into the HTML editor.

The triples from the file are shown at the bottom left, and can be regenerated with one click on the menu bar (omitted from the screen shot).

RDFa attributes are listed in the snippets on the bottom right, and can be dragged and dropped into the HTML editor.

All of the windows can be closed independently and rearranged, using functionality from the eclipse platform.

The Web browser view in the middle left of the screen is simply the standard eclipse built-in browser, which does not automatically synchronize with the contents of the HTML editing window. The user must initiate an explicit refresh.

Public Availability

While TopBraid Composer is a commercial offering, it is available on a free 30-day evaluation from our download site.

Specific instructions for accessing the RDFa editing functionality are as follows:

  1. Add an (X)HTML file to a project.
  2. Open it with the (default) HTML editor.
  3. RDFa keywords will be highlighted in this editor.
  4. The triples icon should appear in the tool bar. When activated, this generates the triples of the file.
  5. The snippets window, if required, is opened by selecting WindowShow ViewOther...GeneralSnippets.
  6. The Web browser view can also be opened by opening the same file for a second time, but using (right click) Open WithWeb Browser. (Note: eclipse uses a sticky setting for the default method to open each file).

The Wysiwyg RDFa Editor

This functionality is still in development.

screen shot of new RDFa editor

The important difference between the two screen shots is the Web browser-like view of the page. We can see various editing features in this screen shot. The highlighting in yellow of a section of the page with RDFa; the simultaneous selection of a) part of the HTML source b) a triple and c) the text hovering above the relevant part of the page, showing the RDFa attributes that give rise to the triple.

Unlike in the earlier version, the HTML source and the visual view are automatically synchronized and do not require a manual refresh.

A further improvement, is that in the browser-like view, you can select some text, and automatically add markup to make it the object of a triple (the value of a @content attribute).

We also have implemented integration with Google maps i.e., by giving a google maps link, corresponding geoloc values are added.

The main tasks outstanding are: reintegration of features from the older editor with the new, and quality assurance - also summer holidays!

Conformance

The conformance of the RDFa input depends on the conformance of the RDFa parser being used, currently Fabien Gandon's transform. Therefore we do not submit a separate report.

It is not clear what conformance tests we should do on the RDFa editing functionality. As is, the normal process of software maintenance should ensure that all output from the RDFa editor is legal RDFa input, with the expected triples, and most reasonable RDFa input can be produced with the editors. The autocomplete facility will currently generate qnames rather than CURIEs, since the other RDF formats currently do not use CURIEs. If and when other RDF formats support CURIEs (and in particular other third party software that we use), then the editors will support CURIEs too. Of course, we currently believe the editors to be conformant!

Change log: