Sat 30 Aug 2008
XBRL is an XML language designed for filing company reports and backed by the SEC and regulatory authorities in Europe and Japan. It makes it possible to be very precise about the accounting concepts used in a particular report, including the means to define extensions to existing taxonomies. XBRL makes extensive use of XLink and as a result is hard to process with XSLT. I am exploring how to translate XBRL into RDF turtle syntax with C and libxml2, and preliminary experiments are very promising. The code processes the XBRL instance, its schema and all associated linkbases to extract RDF triples which are loaded into a scalable triple store such as sesame. XBRL viewers can then be implemented as server side scripts that query the triple store via SPARQL, which is much easier than manipulating the original XML files.
This also opens the theoretical possibility for XBRL filings to be submitted in one of the RDF syntaxes, e.g. turtle. The current XML syntax makes use of XML Schema to assist with validation of XBRL filings, and it will be interesting to look at validation using Semantic Web technologies as an alternative. I am looking forward to exploring the use of RDF with the rendering linkbase that is under development at XBRL.org.