Information Packaging (Brainstorming)

This blog post is brainstorming the notion of "information packaging" and tries to help technical people understand the underlying business intent when it comes to the notion of what I refer to as a "block". How is information formally packaged within a block or information block.

First, as I understand it; there are a number of different ways that information can be provided.  The following is a summary, a spectrum, of those approaches information can be provided and please note that the focus is on providing information, not data.:

  • Fact: Individual piece of information. A fact is one piece of information.
  • List: A list is a set of discrete items of information collected and set forth in some format for utility, entertainment, or other purposes.
  • Table: A table is an arrangement of information or data, typically in rows and columns, or possibly in a more complex structure. Note that there are two views of tables.  One view is that a table can NOT BE NESTED within another table.  Another view is that one table can be nested within some other table. Table-type format (homogeneous, tabular, consistent): relational databases, CSV, spreadsheets, or tabular-type representations which allow only one level of hierarchy within each table; but hierarchies can be constructed by relating tables.
  • Tree: A tree is an arrangement of information in the form of what is commonly called a "tree" where a hierarchy of information is provided. Tree-type format (heterogeneous, arborescent): XML, XBRL (using tuples), JSON and other tree-hierarchy-type information which allow for the expression of one hierarchy; hierarchical type databases, object type databases (Note that a tree is a special case of graph.  See here to understand the difference)
  • Graph: A graph is an arrangement of information in the form of a network of nodes and edges per network theory and graph theory.  Open-type or Graph-type format (heterogeneous, arborescent): RDF, EAV, XBRL (using dimensions) and other open schema-type or graph-type representations which are more graph-oriented or network-oriented (many-to-many) and allow for dynamically creating virtually any number of hierarchies; supports the notion of cycles; very flexible; network type databases; RDF triple stores.
  • Directed graph: A directed graph is a type of graph which can only contain directed cycles.
  • Professional directed graph: Strongly typed directed acyclic labeled property graph of semantic knowledge which includes a logical schema. A professional graph is a specific type of knowledge graph that has maximum expressive power with minimum risk of catastrophic failure and minimum possibility of a logical paradox.  There is no need to "change the model" and a high need to enforce the quality of the information represented by this. This professional directed graph MUST support a multidimensional "n" dimensional hypercube.  NOTE that this hypercube is not an OLAP cube.  However, a hypercube can be used to represent an OLAP cube.
  • Hypergraph: A professional directed graph can be supplemented to also be a hypergraph. Meaning, a professional knowledge graph "under the hood" is really a hypergraph.  While the details of the hypergraph might not be seen by a human user of the professional directed graph, other hypergraph information is there for machines to make use of for the benefit of the human users of the professional directed graph.
Given the information above, the following is the definition of and explanation of what I refer to as a "block" of information.  The notion of a block is a useful logical artifact that I explain per my Theory of Blocks which was arrived at by reverse engineering thousands of XBRL-based reports that had been submitted to the U.S. Securities and Exchange Commission (SEC) and made publicly available per their EDGAR system (see Structured Disclosures RSS Feeds)

This document, Blocks, provides a description and explanation of the notion of a block or block of information.  The following axioms summarize the description and explanation:
  1. Every XBRL-based reports is made up of a collection of Blocks.
  2. A Block is an Organism (a.k.a. Assembly) which is made up of a complete set of associations, terms, and rules. A Block conveys information.  A Block has patterns of logic.
  3. Every Block has an Information Model which is defined as the combination of one member arrangement pattern and one concept arrangement pattern. There are two member arrangement patterns: member aggregation and member non-aggregation.  The following concept arrangement patterns exist: Set, Roll Up, Roll Forward, Arithmetic, Adjustment (a.k.a. Restatement), Variance (a.k.a. Difference), Text Block (a.k.a. Prose), Roll Forward Info.  Note that new member and concept patterns MAY be added as they are discovered and described.
  4. Every Block has the following perspectives from which it can be viewed: Rendering, Model, Facts, Rules, Verification, Terms.
  5. Every Block SHOULD (best practice) be contained within an [Abstract] report element which effectively "packages" the contents of the Block.  Software MAY safely autogenerate such an abstract container should that container not exist within a software interface and simply not serialize that container if not desired within the report model.
  6. Every Block MUST be internally logically consistent with expectation per the representation of that Block.
  7. Every Block MUST NOT contradict any other Block which exists within a report.
  8. Every Disclosure is made up of 1 to many Blocks.
This document, Understanding Networks, Components, Hypercubes and Blocks, is also very helpful in understanding Blocks and how Blocks "interact" with XBRL.

Here is a simple example of a Block of information. This Block is a Roll Up and the rendering view of the Block is shown. (All files are available here.)


Here is a more sophisticated example of several Blocks of information which interact with one another. This Block contains each  possible member arrangement pattern and concept arrangement pattern possible. (All files are available here.)
  • PROOF-MASTER (All files, viewers, verification reports are available here)
Here is an entire conformance suite which currently provides many mainly positive, correct examples but will be expanded eventually to provide incorrect examples to help the testing of software applications:

Additional Information:

Comments

Popular posts from this blog

Microsoft CEO: "AI Agents will Replace All Software"

New Tool for Accountants, Auditors, Analysts

Named Graphs