XBRL and Databases: Some Thoughts and Observations
Saturday, July 27, 2013 at 09:35AM
Charlie in Becoming an XBRL Master Craftsman

Many people struggle when it comes to figuring out how to best work with XBRL.  Typically their first knee-jerk reaction is to take the tool that they have in their toolbox which usually includes a relational database, read an XBRL instance file, and pack the XBRL technical syntax into a relational database.

Then they sit back an wonder why it is so hard to work with the XBRL-based information and they immediately blame XBRL for their problems.

This blog post walks you through a number of options for storing and working with the digital business information such as SEC XBRL financial filings.

XBRL is a global standard for information exchange, not querying

The very first thing one needs to understand is that XBRL is a global technical syntax for the exchange of business information.  XBRL is optimized for extensibility, not for querying. XBRL instances, XBRL taxonomies, and XBRL linkbases are all very "flat". The XBRL information is rich with meaning, but that meaning is not exposed until you feed the raw XBRL technical information exchange syntax into an XBRL processor.  That XBRL processor sorts out the information, pieces together the relationships, and then makes the information easier to work with.

Now, generating information which is easy to work with is up to the software vendor using the XBRL processor.  Unfortunately, there are some software vendors who make the mistake of not even using an XBRL processor and ultimately end up realizing that they built a almost a complete XBRL processor only after they realized all that is necessary to work with the XBRL-based information.

The "easier to work with" form is different for most XBRL processors.  Why?  Well, because there is no standard for that form.  Now, XBRL International has made progress toward a standard intermediate format in the XBRL International Abstract Model 2.0.  Find information about that here and here.

The second reason is that most people miss the point and don't realize that the needed for is a form tailored to business users querying the information. In my view this is a communication problem because business users don't seem to understand what they want and need and technical people don't understand how to talk to business people and get them to tell them what they really need.

Spectrum of options

Here is the spectrum of options that I see for storing and querying digital business information.  Walking through this helps one understand the important pieces needed from a business information database which holds XBRL-based information. I will use SEC XBRL financial filings to make my point, but any set of digital business reports has similarities to SEC XBRL financial filings:

There are more types of databases. There are XML databases. (SoftwareAG has an XML database that I am familier with.) There are object databases.  There are graph databases. (Neo4j is the graph database that is used by Facebook as I understand it and Arelle is looking to integrate with that database.) There are relational databases that support XML data types. I don't know if hierarchical databases is a type of database or a type of model. There are RDF triple stores.

This link provides information on NoSQL.

Bottom line

What is the point? What is the bottom line? 

Stay tuned folks, there is more to come! But now I need to go for a bike ride.

Article originally appeared on XBRL-based structured digital financial reporting (http://xbrl.squarespace.com/).
See website for complete article licensing information.