XBRL is an Extra Fancy Knowledge Graph

Someone pointed out that a knowledge graph is just a fancy type of database.  Not a relational database, rather a graph database.  Unlike a relational database that structures data into tables, a graph database structures data into a graph.  Doing this enables new types of pattern-based capabilities with no programming overhead necessary.

Think about something.  Why would ISO which has the SQL standard for relational databases spend the time to create a GQL standard for graph databases?  Why would they take the time to do that? (For the answer, see page 11, the section Relational Databases Lack Relationships)

XBRL is in effect a global standard approach to representing a knowledge graph. XBRL is an Extra Fancy Knowledge Graph.  Now, you could represent a knowledge graph using RDF, GQL, SQL, Prolog, Datalog, JSON, JSON-LD, or probably there are even more possibilities.  All of these possible approaches can be grouped into three buckets:

So what is so extra fancy about global standard XBRL as a knowledge graph?  Well, here is a list of what XBRL provides as I see it.
  • Dimensional fact model: XBRL provides a dimensional fact model via XBRL Dimensions. You could create a dimensional fact model using other approaches to creating knowledge graphs; but XBRL provides this out of the box.
  • Defines fact: XBRL explicitly defines the notion of a fact.  So in terms of the atomic design methodology, XBRL is defined at the "molecular" level rather than the "atomic" level like RDF. This means two things.  First, XBRL is a little bit easier to work with than RDF because there is a higher level of objects to work with.  On the other hand, XBRL is not as flexible as RDF.  XBRL is specifically "tuned" for business reports and financial reports.
  • Generating facts: XBRL has a mechanism for the generation of new facts from existing facts or information you provide.  See XBRL Formula, specifically Formula.
  • Lots of software: There is a lot of software that works with XBRL, conformance suites for testing software to make sure it works correctly, and there is a lot of open source software such as the open source XBRL processor Arelle. BREL is another open source XBRL processor.
  • Lots of use globally: As of this writing there were 216 different XBRL projects in about 60 different countries that make use of the XBRL global standard.
  • High-level logical model: XBRL provides, but does not necessarily define very clearly, a high level model of a business report.  That same high-level logical model is used by the US Securities and Exchange Commission (SEC), European Single Market Authority (ESMA), European Financial Reporting Advisory Group (EFRAG), etc.
  • Microformat: XBRL provides the capability, similar to microformats, to embed semantic information within an HTML document.  XBRL calls this Inline XBRL
  • Guidance: There is a boatload of guidance provided to help you use XBRL correctly such as the Seattle Method and the forthcoming OMG Standard Business Report Model (SBRM). While the Seattle Method is more for financial statements, the ideas can also be applied to general business reporting.
  • Leverageable semantics: Foundation level semantics is defined such as units that can be used to describe facts, useful data types, functions, roles and arcroles, and other such semantics.
  • Global context: Information in XBRL can be represented with global context using identifiers and namespaces.
  • Approachable to business professionals: Because you can work at a higher level of abstraction, even if you like to tinker with the XBRL technical syntax level, that is possible by a motivated business professional.
  • Professional quality: XBRL provides professional quality knowledge graphs.
Like many other creations; an XBRL-based knowledge graph is a combination of existing technologies and ideas assembled in a novel way that oftentimes looks obvious in hindsight.

And so, there you have it.  XBRL is an extra fancy knowledge graph. Sure, you could very likely build everything that XBRL provides from scratch.  But why?


Digital proficiency is the measure of capacity to use digital technologies to one’s benefit. Step 1 is literacy.  Step 2 is fluency.  Step 3 is mastery.  How is your digital proficiency?

Additional Information:

Comments

Popular posts from this blog

Relational Knowledge Graph System (RKGS)

Getting Started with Auditchain Luca

Evaluating the Quality of XBRL-based Financial Reports