Software scaling, #1 limitation to knowledge representation.

 
The number one deterrent to knowledge representation within the machine environment is the inability of conventional software products to scale.  Scaling means that a software product can establish as many concurrent relationships as required throughout its content, to represent intended meaning, and all its inherent intelligence and functional capacity. The primary limiters to scaling are structure (tables & fields) and indexing (conventional means used to establish relationships).  Binary structures, common to most software, only allow static one-to-one and one-to-groups content bound by binary relationships.  
The lack of scaling requires software architects and programmers to define and develop layers of speciality software products to represent discrete stores of knowledge content, to perform various functions that could not otherwise be programmed into a core software product.  This conventional methodology requires that numerous layers of software be pieced together (integrated), before the core software product can successfully perform its intended functions. Integrated layers of software often times requires thousands of data paths that are subject to errors, failure and hacking. 
Software layering adds to complexity, programming and operational costs, inefficiency and performance.  Semantic technologies seek to solve this problem, but to date, has yet to achieve large scale integration or performance gains.