[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Proof-of-concept RDF mapping for Atom
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