Experimental Atom to RDF Mapping

A proof-of-concept mapping from Atom Syntax to RDF/XML using XSLT.  See this thread on the atom-syntax mailing list for more details.

News

2005-04-06 — Updated to draft-07.

2005-03-21 — Updated to draft-06.

Usage

The easiest way to test the transform is by using the W3C's XSLT service.  Enter the URI of the XSL file <http://djpowell.net/atomrdf/0.1/files/atom2rdf-07.xsl>, and the URI of an Atom/XML file (an example is here: <http://djpowell.net/atomrdf/0.1/files/example.xml>)

The transform accepts a parameter called contentbase, this supplies the URI to use as a base for URI-references when xml:base is not specified, or is specified as a relative URI-reference.  A parameter called contentlang, supplies the default language to be used when no other is in scope.

Alternatively you could run the transformation locally, using an XSLT processor such as Xalan.

Online Examples

Feed Atom Syntax Atom/RDF
Julian Reschke's feed (draft-07) XML RDF
Simple example (draft-07) XML RDF
Tim Bray's feed (draft-04 — using older stylesheet, contains a few bugs) XML RDF

Getting the files

The Atom to XSLT transform is located here: http://djpowell.net/atomrdf/0.1/files/atom2rdf-07.xsl

(A version of the mapping for draft-05 feeds is located here.  A version of the mapping for draft-04 feeds is located here - it is exactly the same as draft-05 apart from the change of namespace)

The transform imports baselangutils.xsl to perform xml:base and xml:lang resolution.

The transform indirectly imports urires.xsl to perform URI-reference resolution.  The resolver implements the rules from section 5 of RFC3986, and seems to pass the test cases: uritest.xml.

An RDFS schema for the output is located here: http://djpowell.net/schemas/atomrdf/0.1-EXPERIMENTAL/

You can download everything as a zip file here: http://djpowell.net/atomrdf/0.1/files/atom2rdf.zip

As this is an experimental mapping, it is liable to change without warning, here is the ChangeLog.

Features

 


David Powell - 2005-04-06