Fwd: Proof-of-concept RDF mapping for Atom

---------- Forwarded message ----------
From: David Powell <djpowell@djpowell.net>
Date: Fri, 28 Jan 2005 21:27:11 +0000
Subject: Proof-of-concept RDF mapping for Atom
To: Atom Syntax <atom-syntax@imc.org>




I've put together an XSLT stylesheet to map Atom to RDF/XML. It is
just as a proof of concept to see if it is possible. I think it
handles everything except for xml:lang - I'm not sure what's happening
with xml:lang at the moment - but it should be possible to add it in a
similar way to xml:base.

I don't think using an XSLT processor followed by an RDF/XML parser
would be much fun in practise - a SAX based convertor would be much
simpler.

The RDF vocabulary was just constructed ad-hoc - like I said, it is
just a proof of concept.  It uses a separate namespace to Atom and
defines some new terms, which solves any problems with non-unique
attributes.

Here are the main features:

 * Implements draft-04 with PaceExtensionConstruct. Doesn't handle
   xml:lang at the moment, because I think we need to clarify that a bit.

 * Preserves Structured Extension Constructs as XML Literals, for
   round-tripping.

 * Preserves xml:base context for Text, Content, and Structured Extension
   constructs.

 * Handles author defaulting.

 * Resolves URI references using xml:base

There are some more comments at the top of the file.

You need <http://djpowell.net/tmp/atom2rdf.zip> - which contains:

atom2rdf.xsl - the transform
urires.xsl   - URIRef resolver used by the transformer
example.xml  - an example feed

You can run the transform using Xalan
<http://xml.apache.org/xerces2-j/> using:

java -jar xalan.jar -IN example.xml -XSL atom2rdf.xsl -OUT rdf.xml

Part of the implementation is an XSLT based URIRef resolver - you can
try that here in your browser: <http://djpowell.net/tmp/uritest.xml>

--
Dave



-- 

http://dannyayers.com

Received on Saturday, 29 January 2005 11:27:12 UTC