Understanding graphs is important to understanding how to use XBRL. This is particularly true if you build XBRL taxonomies with any level of sophistication.
When I say "graph", I am not talking about an "Excel graph" or "chart", those pretty pictures which display information graphically. Although, it seems to me that there is a relation between "graph" and information which is presented graphically. (But, let's not go down that path.)
A graph is defined by Wikipedia as:
Mathematical structures used to model pairwise relations between objects from a certain collection.
Key terms from above are "model" (i.e. build an XBRL taxonomy), "pairwise relations between objects" (i.e. such as accounting concepts), and "from a certain collection" (i.e. XBRL taxonmoy).
I am far from an expert in graphs. In fact, I am a novice really. But, I have been listening to technical people talk about graphs and graph related terminology for many years in creating XBRL that I have picked up a few things.
These are the key things that I have picked up:
- XBRL networks (presentation, calculation, definition) are graphs.
- What most people think of as a "tree" is a type of graph. Not all graphs are trees. But, all trees are graphs.
- This is a Wikipedia article with a good summary of graph theory.
- This tutorial is a great little tutorial which will help you understand the fundamental concepts of graphs. It helps you understand terms used in XBRL such as graph, cycle, path, and so forth.
- Here is a glossary of graph related terminology.
- Graphs are a way to represent relations. Showing those in a "tree view control" is only ONE way to represent that information. It is definitely not the ONLY way. Most software developers building XBRL applications have not figured this out yet. Some have. Help them understand this, it will help the usability of XBRL software.
- Terminology such as cycles, directed cycles and undirected cycles become more meaningful when you understand graphs.
- You cannot build good XBRL taxonomies if you don't understand cycles.
- XBRL is part of the Semantic Web. Realize that RDF expresses graphs. For right now, just keep the term RDF (Resource Definition Framework). You will want to know about that, but let's not get into that now. You will also want to know about OWL (Web Ontology Language). I will get into these later, again, just keep these in the back of your mind and realize that they are important.
Feel a little overwhelmed and confused? That is always the beginning point of learning, feeling overwhelmed and confused. Just realize that if you really want to understand XBRL to be good enough to create quality information models with XBRL, you need to understand what graphs are. Take the time to read the information above and work through the tutorial.
Not every business user needs to understand graphs, but if you want to build good XBRL taxonomies, you definitely need to understand graphs. Hopefully this information will help you towards that end. I don't have the expertise to explain this to others in detail at this point, that is why I am just pointing you to other information.