I have shown the graphic below before. The graphic summarizes the relative expressiveness and related relative reasoning capacity of various knowledge representation languages. I stole this idea from this blog post and this presentation which show the same information, I just organized some things slightly differently and added various XBRL implementation strategies: (see my original blog post here)
Here is another good graphic that compares relative expressiveness of different languages also:
The vast majority of people are familiar with the level of expressiveness which can be achieved using relational databases. Experience with relational databases for past 25 years helps us undertand that. See my blog post Characterizing Truth: Semantics in Databases which explains the expressiveness which has generally been expressed within databases and specifically this graphic which tries to show limitations of databases.
But things are changing. Here are some changes that I see occurring:
So those are the changes that are occurring. There are different camps of software vendors trying to provide products and solutions that address with these changes. There is the "semantic web" camp which seems to be pushing RDF/OWL and new types of databases such as triple stores and reasoners/inference engines and SPARQL queries. And you have your "NOSQL" camp that seems to be pushing NOSQL databases as the answer to these changes. And of course there are the entrenched incumbents, the relational database vendors, where a boatload of information is currently being stored, there is a heavy investment in such relational databases, and the relational database has morphed more than once in order to keep up with the changes that are occuring.
But I don't think anyone has pulled all the pieces together and gotten this right yet.
No one product/solution has put all the right pieces together and balanced the system correctly. For me, if the pieces are put together correctly you get an expert system. In this blog post I summarize the benefits offered by an expert system. Think "smart database".
Remember the Law of Conservation of Complexity and the notion of irreducible complexity. Remember that irreducible complexity is explained as follows:
A single system which is composed of several interacting parts that contribute to the basic function, and where the removal of any one of the parts causes the system to effectively cease functioning.
Partial solutions will not work. Complete solutions are necessary. What are the evaluation criteria which one should use to determine is some product or solution will fit your needs? Here are the general, high-level criteria as I see them:
It will be interesting to see what software vendors come up with. Balancing all these pieces and creating the proper equilibrium will be a valuable tool for business professionals.