Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
KNOWLEDGE ACQUISITION, VISUALIZATION AND STORAGE SYSTEM
Document Type and Number:
WIPO Patent Application WO/2017/040290
Kind Code:
A1
Abstract:
The knowledge base browser employs a computer-readable medium with a first data structure storing information within a knowledge base including: a CON Struct that stores an atomic concept; a Linguistic or Sensory Dataform; a primitive associated with the CON Struct storing attributes that define at least one of a conceptual, semantic and/or temporal domain of the associated CON Struct; and a ConRel linking structure that records linked relationships between a first atomic concept and other atomic concepts. A processor parses the information read from the medium based on the first data structure and generates a display having conveying information about the first atomic concept corresponding to an ontological commitment by a user; conveying information about a rational path relationship among the concepts; and suggesting information selectable for review by the user.

Inventors:
THOMAS DENNIS L (US)
HENDERSON RUSSELL (US)
Application Number:
PCT/US2016/049003
Publication Date:
March 09, 2017
Filing Date:
August 26, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
IQSTRATEGIX INC (US)
International Classes:
G06N5/02; G06F17/27; G06F17/30; G06N5/00; G06N5/04
Foreign References:
US20060053382A12006-03-09
US20070005621A12007-01-04
US20140324750A12014-10-30
US20120117023A12012-05-10
Attorney, Agent or Firm:
STOBBS, Gregory A. et al. (US)
Download PDF:
Claims:
CLAIMS

What is claimed is:

1 . A computer-implemented knowledge base browser comprising:

a computer-readable medium configured with a first data structure used to store information within a knowledge base that includes:

a CON Struct that stores an atomic concept;

a Linguistic or Sensory Dataform;

a primitive associated with the CON Struct that stores attributes that define at least one of a conceptual, semantic and/or temporal domain of the associated CON Struct;

a ConRel linking structure that records zero or more linked relationships between a first atomic concept and at least one of a plurality of other atomic concepts; a processor coupled to read information stored within said computer-readable medium;

said processor being programmed to parse the information read from said computer-readable medium based on the first data structure and to generate a display having:

a. an interface display element containing information about said first atomic concept corresponding to an ontological commitment by a user;

b. an interface display element containing information about one of said plurality of other atomic concepts defining a rational path relationship with said first atomic concept; and

c. an interface display element containing information about another one of said plurality of atomic concepts corresponding to suggested information selectable for review by the user.

2. The computer-implemented knowledge base browser of claim 1 wherein said processor is programmed to parse the information read from said computer- readable medium and to present as said one of said plurality of other atomic concepts, information providing an explanation of purpose relative to said first atomic concept.

3. The computer-implemented knowledge base browser of claim 1 wherein said processor is programmed to parse the information read from said computer- readable medium and to present as said another one of said plurality of other atomic concepts, information providing an explanation of function relative to said first atomic concept. 4. The computer-implemented knowledge base browser of claim 1 wherein said processor is programmed with an inference engine that parses the information read from said computer-readable medium and generates said suggested information from a resource based on inferences calculated using said at least one primitive attribute.

5. The computer-implemented knowledge base browser of claim 1 wherein said processor is programmed to parse the information read from said computer- readable medium and to perform algorithmic calculations upon the parsed information to generate an interface display element containing information derived from said algorithmic calculations.

6. A computer-implemented knowledge base browser comprising:

a computer-readable medium configured with a first data structure used to store information within a knowledge base that includes:

a CON Struct that stores an atomic concept;

a Linguistic or Sensory Dataform;

a ConRel linking structure that records zero or more linked relationships between a first atomic concept and at least one of a plurality of other atomic concepts; a processor coupled to read information stored within said computer-readable medium;

said processor being programmed to parse the information read from said computer-readable medium based on the first data structure and to generate a display having:

a. an interface display element containing information about said first atomic concept corresponding to an ontological commitment by a user;

b. an interface display element containing information about one of said plurality of other atomic concepts defining a rational path relationship with said first atomic concept; and c. an interface display element containing information about another one of said plurality of atomic concepts corresponding to suggested information selectable for review by the user. 7. The computer-implemented knowledge base browser of claim 6 wherein said processor is programmed to parse the information read from said computer- readable medium and to present as said one of said plurality of other atomic concepts, information providing an explanation of purpose relative to said first atomic concept. 8. The computer-implemented knowledge base browser of claim 6 wherein said processor is programmed to parse the information read from said computer- readable medium and to present as said another one of said plurality of other atomic concepts, information providing an explanation of function relative to said first atomic concept.

9. The computer-implemented knowledge base browser of claim 6 wherein said processor is programmed to parse the information read from said computer- readable medium and to perform algorithmic calculations upon the parsed information to generate an interface display element containing information derived from said algorithmic calculations.

Description:
KNOWLEDGE ACQUISITION, VISUALIZATION AND STORAGE SYSTEM

FIELD

[1] The present disclosure relates generally to computer memory management, and computer information storage and retrieval.

BACKGROUND

[2] This section provides background information related to the present disclosure which is not necessarily prior art.

[3] During the mid-twentieth century, local telephone operating companies needed a way to keep track of their cables and equipment in the field. Bell Labs developed a database to do this. The database was written using conventional (at the time) CODASYL technology. The program comprised over 155,000 lines of COBOL code, amounting to a printout four inches thick. The CODASYL database took fifty people five years to develop. The program received many complaints. It was extremely slow and difficult to maintain, it rigidly resisted modification every time new telephone equipment was deployed, and it required a maintenance staff of fifty people. The data structure did not fit the problem.

[4] In the early 1980s, Bell Labs took a fresh look at the problem. This time, instead of trying to force the problem to match an existing data structure, the programmers developed a new data structure, specifically to model this problem. They named the new data structure "a directed hypergraph." With the new data structure in place, a new database program was quickly written (in half the time, by half the number of programmers). The new program, when printed out, was less than one-half an inch thick. It was fast, easy to maintain, and easy to modify when new equipment was deployed. Now, only five people are needed to maintain it. The data structure fit the problem.

[5] Today, engineers developing computer systems for knowledge acquisition, visualization and storage find themselves in much the same place as Bell Labs in the early 1980s. Common practice today is to use the relational database and the hyperlink. Users of web browsers are familiar with the HTML hyperlink structure: you click on a link and it takes you to another page, sometimes containing information related to the original page, but sometimes not. While adequate for casual web browsing, the hyperlink stumbles when used to organize the deep structure of knowledge.

SUMMARY

This section provides a general summary of the disclosure, and is not a comprehensive disclosure of its full scope or all of its features.

The present disclosure defines a new knowledge acquisition, visualization and storage system in which computers are programmed according to new data structures and new algorithms that manage knowledge in a way that greatly improves data search and retrieval speeds while at the same time providing the user with a more intuitive and useful view of the information contained in a knowledge base. Just as Bell Labs saw a radical jump in performance when they developed a CODASYL data structure that matched their problem, the information architecture and associated computer data structures and computer algorithms disclosed here yield a remarkable boost in knowledge acquisition, visualization and storage performance.

According to the disclosed concepts, computer memory is organized and arranged to define a data structure that is crafted using the underlying information architecture to represent knowledge in a knowledge base to a much deeper semantic level than current computer technologies provide. This data structure includes the following three basic components.

A concept structure (CON Struct) is defined in computer memory to hold an atomic concept in a way that can be recognized in an unambiguous way by either a human user or by a computer programmed to exhibit artificial intelligence (Al). The CON Struct is deployed and mediated by the computer to enforce a rule that independent concepts are never duplicated within a knowledge base. Thus by way of example, the concept of "spring" might have six or more specific concept meanings that are all unique. The computer enforces the rule that each meaning would be defined in a separate CON Struct. In this way CON Structs help disambiguate human language.

A single Primitive attaches to or decorates the CON Struct data structure, providing attributes related to the stored atomic concept that fall into predefined types. In one disclosed embodiment the primitive comprises three basic types: concept group, semantic domain and time signature (other labels for naming the predefined types are also possible). These predefined primitive types can be more explicitly broken down into a plurality of individual primitives. To illustrate the principles of the disclosed technology, we illustrate how to divide the three primitive types of concept group, semantic domain and time signature into thirty (figure 5) individual primitives. Of course, a different number of individual primitives can be used. The computer enforces rules that mediate information storage by precisely defining aspects of the underlying semantics or meaning associated with a stored atomic concept (CON Struct), making them explicit. Primitives serve several important purposes. They allow the computer to disambiguate human language: the "spring" in your step is different from the "spring" in your mattress. Primitives also provide a basis whereby an artificial intelligent computer, and also a human who is unfamiliar with the knowledge base subject, can draw inferences. By examining the primitives associated with the CON Struct storing information about a "spring" in your mattress, the artificial intelligent computer, or human, can infer that a "spring" in your ballpoint pen will have similar properties; and will not have similar properties to the "spring" feeding the old mill pond.

Concept relationships (ConRel) define associative links between atomic concepts to define concept models and functions which comprise a knowledge base and its knowledge layers. The computer represents ConRels as links and pointers between individual CON Structs. ConRels can also be used to define links between unassociated concepts, if desired. In a knowledge base according to the disclosed information architecture, ConRel links can be understood in the context of an information model. While other ontologies are possible, the current disclosed embodiment defines structural models (e.g., set taxonomy, composition, concept, etc.), behavioral models (process, flow, comparison, iteration, etc.) and also supports functional models or user conceptualized models. Thus, in addition to defining a link between CON Structs, ConRels also associate a deeper meaning to the link by storing an associated model designation that defines how that link functions in the context of the ConRel relationship. The ConRel function is important, as the ConRel actually embeds or encapsulates part of the information contained within the knowledge base. The fact that a "spring" is a "component" of a mattress is important to understanding the composition of the mattress and where the spring fits into that. Similarly, the fact that water "flows" from a "spring" also conveys a deeper understanding of the nature of the processes involved in filling the old mill pond.

[12] In addition to the above three basic components, the information architecture and associated data structures further include a concept reference (ConRef) that defines links between two separate or disparate knowledge bases, or between two layers of a single knowledge base. Whereas ConRels capture or embed part of the information contained within a knowledge base, the ConRef does not. Rather the ConRef provides a navigational link that the computer uses to allow the user or an artificial intelligence computer to jump between different CON Struct locations within a single knowledge base (as jumping from one layer or hierarchical node to another layer or non-hierarchically contiguous node), or to jump between two entirely disparate knowledge bases. As will be more fully described below, a computer implemented knowledge base viewer exploits ConRefs to allow the user to view a first series of sequentially linked concepts, then jump via a ConRef to a different knowledge base to view a second series of sequentially linked concepts, and then jump back using the previously invoked ConRef to revisit the first series of sequentially linked concepts— without the need to backtrack though all of the second series of sequentially linked concepts. ConRefs thus allow the computer to automatically instantiate internal and external links that may not be obvious or known by a user.

[13] The data structure described above is used by the computerized knowledge acquisition, visualization and storage system to implement a computer- implemented knowledge viewer or browser that allows a user to explore a knowledge base by selecting information presented according to a first concept row (Con Row) and then navigating to a hierarchically related second concept row, and then to a third concept row, each time selecting one specific concept of interest. The browser is configured to use these selections to define what is termed a "rational path" corresponding to the sequence of reasoning steps actually explored by the user. A user might, for example, explore Countries, select the United States as one of the Countries, select Government to learn that the United States Government includes a President, and then select President and thereafter select Dwight D. Eisenhower as the 34 th President of the United States. This rational path leading from Countries to Eisenhower is, of course, but one possible rational path. A different user might have navigated from the same Countries starting point to an entirely different destination describing fishing in the Michigan Great Lakes.

[14] Traversal of the knowledge base by following a series of ConRel links is but a single dimension of the knowledge viewer. Because the browser is actually following ConRels from one atomic concept (CON Struct) to the next, each traversal step carries forward a record of the associated primitive attached to each CON Struct as well as a record of each model or other relationship descriptor associated with each ConRel. This gives the viewer computer all the fundamental information to make inferences about what types of information the user is seeking. The viewer computer is programmed with a set of disambiguation and inference algorithms that operate on these ConRels and primitives to disambiguate user queries and constrain further browsing and to suggest, by inference, further information that may be useful to the user. For example, if the user is exploring a knowledge base describing automobiles, the viewer computer would utilize knowledge of a user's prior interest in components of an automobile engine (expressed by ConRels bearing reference to Structural Models) to infer that the user will wish to drill down deeper into how each component is constructed. However, if a different user is exploring the same knowledge base of automobiles and selects wheels and then explores the history of the wheel to discover Roman chariots, the primitives associated with these CON Structs would be interpreted by the viewer computer that the user is likely interested in transportation. But if the user instead traverses from the automobile to the wheel to a Hindu mandala, the viewer computer would infer that the user is thinking on a semiotic or symbolic plane and might suggest Carl Jung's Man and His Symbols. All of these highly disparate rational paths are possible, and the viewer computer is able to perform constraint browsing to make further information suggestions by using the ConRels and the CON Struct primitives associated with the particular rational path each user has selected.

[15] Further areas of applicability will become apparent from the description provided herein. The description and specific examples in this summary are intended for purposes of illustration only and are not intended to limit the scope of the present disclosure. DRAWINGS

[16] The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations, and are not intended to limit the scope of the present disclosure.

Fig. 1 a is a simplified block diagram of a knowledge acquisition, visualization and storage system based on principles of the disclosed concepts;

Fig. 1 b is a more detailed block diagram of a knowledge acquisition, visualization and storage system based on principles of the disclosed concepts;

Fig. 2a is a graphical user display interface, illustrating one embodiment of IQ browser display;

Fig. 2b is a detailed view of a graphical user display interface, showing the header in expanded form;

Fig. 2c illustrates the Concept Center button shown in Fig. 2, in greater detail;

Fig. 2d is a graphical user display interface, illustrating a timeline view with analytics; Fig. 2e is graphical user display interface, illustrating the rational view;

Fig. 2f is a graphical user display interface, illustrating the rational view with a Choice function;

Fig. 3a is a simplified data structure diagram illustrating the basic form of the CON Struct data structure;

Fig. 3b is a simplified data structure diagram illustrating how concept relationship instances are defined;

Fig. 3c is a simplified data structure diagram illustrating how concept relationship groups are defined;

Fig. 4 is a more detailed data structure diagram illustrating the CON Struct data structure;

Fig. 5 is a matrix diagram illustrating one embodiment for organizing primitives used in the CON Struct data structure;

Fig. 6 is a detailed data structure diagram illustrating the concept tail portion of the CON

Struct data structure;

Fig. 7 is a data structure diagram illustrating how the ConRel instance is used to connect interrelated concepts;

Fig. 8 is a data structure diagram illustrating how the ConRel structural model (a set) is used to connect plural interrelated concepts;

Fig. 9 is a data structure diagram illustrating how ConRel structural and behavioral models may be incorporated into the CON Struct data structure; Fig. 10 is a first example graphical depiction of how data contained within the concept tail of the CON Struct are used to generate the graphical display;

Fig. 1 1 is a second example graphical depiction of how data contained within the concept tail of the CON Struct are used to generate the graphical display;

Fig. 12 is a data structure diagram showing the dataform in greater detail;

Fig. 13 is matrix diagram illustrating how a single dataform can model multiple concepts;

Fig. 14 is an information architecture model showing how the knowledge base may be represented as layers;

Fig. 15 is a flow diagram illustrating knowledge base indexing;

Fig. 16 is a data structure and knowledge base diagram illustrating the concept reference (ConRef) structure;

Fig. 17 is a flow diagram providing an example of rational path navigation within a single ontology;

Fig. 18 is chart showing how concept references (ConRef) may be organized as a list ordered according to the order that the user or computing device added the ConRef Paths to the list and showing the timestamp of when it was added and a duration (time lapse) of how much time expired between adding of this item and the next item or the end of the list;

Fig. 19a is a flow chart diagram depicting the browser navigation and display algorithm for the rational view, specifically the constraint browse to rational view;

Fig. 19b is a more detailed flow chart of the constraint search and browse to a view; Fig. 20 is a detailed data structure diagram illustrating how a non-transitory computer- readable medium is configured and programmed to store a knowledgebase in accordance with the disclosed principles

[17] Corresponding reference numerals indicate corresponding parts throughout the several views of the drawings.

DETAILED DESCRIPTION

[18] Example embodiments will now be described more fully with reference to the accompanying drawings.

Introduction [19] The knowledge acquisition, visualization and storage system is unique in the way it can capture, store and represent not just information, but how, why and what-if knowledge in a form that human users can intuitively browse a computer- stored knowledge base, to learn a new subject for example, and that artificial intelligence computer systems and Internet bot crawler systems can use to add new content to an existing knowledge base. In this context, the term knowledge is used to encompass both the information (e.g., data) associated with a subject, and also the underlying theories that apply to that subject. In other words, Knowledge = Theory + Information (data). Classical computer storage systems are good at storing information (data) but have proven deficient in storing and representing the associated theory in a useful way.

[20] Referring to Fig. 1 a, the knowledge acquisition, visualization and storage system employs a computer-implemented architecture comprising an IQ Builder 20 and an IQ engine 22 that both write to and read from a knowledge base (KB) memory 24, embodied as non-transitory computer-readable memory. The system further includes an IQ browser 26 that reads from knowledge base memory 24. The IQ builder 20 is a computer-implemented tool that allows persons familiar with a particular knowledge subject matter to model that knowledge as a collection of individual concepts 28 referenced by a common language (characters, symbols, words, phrases). The IQ builder 20 provides a user interface and a collection of builder algorithms that enable a person without computer programming familiarity to model concepts to define a knowledge base. The IQ Builder guides the user during the input of information, using algorithms that elicit the user to provide a range of information about the knowledge base subject. The IQ builder then stores the elicited information in a particular way according to a model 25 within the computer-readable knowledge base memory 24. More specifically, the IQ builder populates a computer-implemented data structure that organizes how information is stored by the computer within the knowledge base memory 24. The details of this unique data structure will be discussed below in connection with Figs. 3a-3c. At a high level, the knowledge base memory 24 stores information as atomic concepts stored in a Concept data structure to which an attribute primitive is applied. Concepts are linked to each other using linking structures called ConRels to define the knowledge base memory 26. Associated with these ConRel linking structures is an attribute descriptor known as a concept model. Concept models encode rules relating to the structure and creation of a model instance as well as information about how concepts are related and thus add depth to the knowledge base. According to the information architecture, the combination of a concept and its corresponding concept models defines an ontology.

[21] A ConRel can be one of the following

1 . A stand alone Concept e.g. "C356"

2. A System or Author defined Model .

3. Other items (ConRef or 360 Links...)

[22] A concept or a Model may be a container. Anything inside the container is considered subordinate (Concept or Model). Containers can be visible or invisible. Containers may contain any of the three items above. Any place in the ontology and anything contained is one of the following:

1 . A stand-alone Concept Reference "C41 ";

2. An invisible Model Root "AtList";

3. A Visible System Model Root "Composition" "Sequence", "Set"... which simultaneously is a Concept;

4. A Named Author Model, e.g., "Harvey Mackay Contact Info."

5. A definition in a Concept Object;

6. an "instance" in another Concept's ontology

[23] The IQ Engine 22 is a computer-implemented tool that reads and writes to the knowledge base memory 24, performing two basic functions. The IQ engine 22 processes the information stored within the knowledge base memory 24 by the IQ builder 20 to define highly interconnected relationships among stored concepts 28, termed "rational paths." In Fig. 1 a, the IQ Engine 22 is shown as augmenting the knowledge base memory 24, by adding rational path links. The

IQ Engine 22 performs the second basic function of communicating with one or more computer-implemented Internet bot tools 32 that are programmed to automatically search the Internet 33, using web crawling techniques for example, to discover desired content, which is then translated by the IQ Engine 22 into a form for storage within the knowledge base memory 24. In this regard, the IQ engine 22 ingests, self-builds, organizes, integrates and stores new content within an existing knowledge base memory 24. Thus whereas the IQ Builder tool 20 allows a human curator to input knowledge on a particular subject with which that human curator is familiar, the Internet Bots 32 input knowledge automatically into IQ Engine 22 by gleaning it from other sources. To do so, the IQ Engine 22 employs special algorithms that learn from the way the human curator has defined a particular knowledge base memory 22, based on how the knowledge base memory 22 data structures have been populated. Using the metadata represented by the knowledge base memory 22, the IQ engine 22 draws inferences about the ingested data (new content 28) obtained from sources such as Internet bots and organizes and stores the new content in the knowledge base memory 24 so that it is semantically consistent with the information provided by the human curator.

[24] The Internet Bots 32 represent one example of an automated agent (Bot) that handles a query on behalf of a user. Other examples of such automated agents are what we call the UzrBot and the OrgBot, discussed more fully below. The engine provides the API for access and algorithms to ingest or provide data. The business rules and inference algorithms are in IQ Engine. The Internet Bots link to and extract content in Structured (database, line of business apps) Semi Structured (RDF Triples...) and Unstructured (web pages, natural language)

Creating New Concepts in the Knowledge Grammar of the system (XML). The IQ Engine works interactively with the Bots and optionally Knowledge engineers to ingest and analyze this new content and uses existing Knowledge (subject to scope reduction or weighting by the user that invoked the research) and links these new concepts into the Knowledgebase as a draft Knowledge Layer.

[25] The IQ Browser 26 feeds on the knowledge base memory 22, to allow a user to interact with and learn from the information stored in the knowledge base memory 22. The IQ Browser 26 is a computer-implemented tool that is programmed to include special algorithms which operate as a "constraint browser" that interacts with the information stored within the knowledge base memory 22 to allow a user to see the stored information in a variety of useful ways. In the presently preferred embodiment the IQ Browser 26 provides fifteen different "views" that are specific to each type of content by which a user can explore and learn from the information stored in the knowledge base memory 22. See Fig. 2a. The IQ Browser 26 operates as a constraint browser because it is programmed to retrieve knowledge content that is associated with specific concepts and concept models chosen by the user. As noted above, the information architecture upon which the system is based defines an ontology as representations of concepts and concept models. Thus when the user makes an ontological commitment to explore a certain vein of knowledge, the IQ browser learns from the user's query what concepts and concept models have been implicated. The IQ Browser then constrains further information retrieval to reveal only information linked to the chosen concept by ConRels having the same concept model. In this way, the IQ Browser returns information that fits the user's current ontological commitment. Of course the user can change his or her mind, and pursue a different ontological commitment, but unless the user explicitly chooses to do so, the IQ Browser will constrain the user's information browsing to the ontological commitment the user has chosen.

[26] In one preferred embodiment the different views presented by the IQ Browser can be activated or enabled directly from the XML. Thus the XML may mark an area specifically for one or more views or system may detect or infer and then construct a 'better' view based on what it sees (large geo coded Con Row enables map view or Large list shows data view or number of related items may show a graph view)

[27] As users chose concepts, and those concepts have corresponding IQ Browser Views embedded within their ConRels, the corresponding IQ Browser View button located at the top of the IQ Browser screen within the "View Menu Bar" will be highlighted, notifying the user that there is specific content related to the Concept they have selected displayed within an IQ Browser view that is different from the default IQ Browser Rational View.

[28] The constraint browser algorithms enforce these navigationally-based information retrieval constraints by exploiting the concept models associated with the ConRel links that interconnect the atomic concepts within the knowledge base. These concept models are described in detail in connection with Fig. 4 below. At this point in the explanation, it is important simply to understand that concept models are represented as metadata within the knowledge base memory data structure. They encode in a concise and specific way certain aspects of the underlying theory by which atomic concepts are related. Thus concept models capture information about basic structure, behavior and function that exists when two or more atomic concepts are linked. Concept models can also capture other compound concepts made up of these more basic models.

Overview of the IQ Browser

[29] Referring to Fig. 2a, the IQ Browser 26 generates a visual display, such as illustrated at 200. The IQ Browser 26 places information in various regions of this display by parsing one or more Concepts (XML documents) corresponding to the concept's Ontology being currently explored. The browser parses the XML document, based on the CON Struct data structure discussed below, and populates the display with the information contained within this CON Struct data structure. More specifically, the rational view will typically contain parsed XML from several concepts, particularly where ConRefs, AutoRels, and Links are involved. A ConRow will contain nodes from a single concept, single ontology at a particular parent "path". Each node may indeed be a link or query that produces a new ConRow in the same or another knowledge base. While an XML embodiment is discussed here, the use of XML is not a requirement in all applications. For example document types such as JSON may be used as well.

[30] The display is divided horizontally into regions, including an upper dropdown menu region 202, a central rational path viewing region 204 and a lower menu bar region 206. At the center of the rational path viewing region 204 lies center concept region 208, which includes a multi-function clickable center button 210.

Within the center button 201 , the IQ Browser displays content corresponding to the concept that the user has just selected. This selection represents an ontological commitment on the part of the user; it identifies the point within the entire knowledge base ontology that the user has foremost in his or her mind at that particular time. To the left of the center button is an images and documents window 212. Here the IQ browser displays images, ICONs, illustrations, pictures, maps, thumbnail videos, etc. that directly relate to the concept represented in the center button 210. Window 212 can be used for many purposes. Thus the display includes user-clickable buttons 214 by which the user can select what content to display in window 212. These buttons 214 bear labels generated by the IQ Browser, based on what information happens to be contained within the applicable concept XML document being currently explored. Thus if a company logo is referenced as a content object by the XML document, one of the buttons 214 would be labeled "Logo" and clicking that button would bring up a picture of the company logo in window 212. In this regard, if video content is displayed within the window 212, the Audio/Visual View clickable buttons would bear labels appropriate for the display of video content, for example, forward, reverse, slow motion, and so forth. Users also have the option of clicking on one of the IQ Browser views at the top of the IQ Browser window, which will take them to a full window view that expands on the center button content. [31] To the right of center button 210 is a definition window 216. The IQ Browser places in this window any definitional text or other content, stored in the XML document. A scroll bar structure is included at 218, allowing longer texts to be displayed within the window. If desired, the user interface can also include a concept properties viewing window (not shown), which can be implemented as a fly-out pane 219 that extends to the right of the definition window when the user activates it by clicking on the region to the right of the scroll bar structure. When this concept properties viewing window is exposed, the user can view and/or edit concept properties or other relevant content.

[32] Within the rational path viewing region 204 beneath the center button 210 lies a series of lower rows of buttons 222, 223, and so forth. The buttons in row 222 function as lower rational view buttons. They are physically closest to the center button 210 and thus contain concepts that are directly associated with the concept displayed in the center button 210. The graphical user interface provides clickable left and right arrows 226 that shift the content of the buttons in row 222 to the left or right, thus allowing more than five concepts to be displayed. The buttons in rational view row 222 are all clickable. Doing so causes the selected lower rational view concept to move up and occupy the center button 210. The previous content of the center button is moved up to occupy one of the buttons within the upper rational view row 227. These buttons are also clickable, allowing the user to move a previously focused upon concept back to the center button position.

[33] The buttons in row 222 serve a different purpose of causing the browser to perform algorithmic processes or calculations based on metadata related to the center concept displayed in button 210. These buttons are clickable by the user.

Doing so causes the browser to perform a selected analysis, according to the algorithm dynamically assigned to the button. The results of the analysis are then displayed as a new center concept within button 210.

[34] From the example of Fig. 2a it will be appreciated that the user can traverse a rational path through the knowledge base using the IQ browser. By clicking on the center button 210 the user may be provided with optional additional information about the center button concept. By clicking on one of the buttons in the upper rational view row 227, 228, 229, the user can step back to review a previously viewed concept. By clicking on one of the buttons in the lower rational view row 222 the user can explore more deeply some other aspect of the core concept. The IQ Browser is, in effect, a constraint browser. It employs navigational algorithms that enforce the ontological commitment made by the user in selecting a piece of content. The browser allows the user to navigate in a downward direction (by selecting one of the buttons in row 222) and thereby obtain information about how the selected piece of content works (i.e., an explanation of function). The browser allows the user to navigate in an upward direction (by clicking one of the buttons in row 227) and thereby obtain information about why the selected piece of content behaves as it does, or why it is what it is (i.e., an explanation of purpose). The browser allows the user to navigate in a lateral direction (by selecting one of the buttons in row 222) and thereby explore what if questions involving different applied conditions or calculations (i.e., an algorithmic calculation performing analysis). From a graphical user interface perspective, each of these different inquiry "directions" can correspond to a different screen navigation direction.

[35] To provide the user with a deeper understanding of the theory behind the information presented in the clickable buttons, the browser interface includes row and button descriptors adjacent rows and buttons on the graphical display. These descriptors are dynamically updated regions on the screen that disclose the underlying theory associated with the information presented in the buttons. Thus in Fig. 2a, row descriptor 232 defines a dynamically updated region on the screen that the IQ Browser algorithm populates with information extracted from the XML document to provide a description or explanation of the nature of the information displayed within the buttons in the upper rational view row 228 above. For example, if the user is exploring the concept of shipborne aircraft, row descriptor 232 might be populated the label reading "shipborne aircraft - taxonomy" which alerts the user to the fact that the buttons within row 228 all relate to taxonomy, or ways of classifying different aircraft. If instead the buttons related to thrust of jet engines used in shipborne aircraft, the row descriptor 232 might be populated with a label reading "jet engine - output power."

[36] In a similar fashion, row descriptor 232 is dynamically updated to contain a label describing the theoretical nature of the informational subject displayed in the center button 210. Likewise, row descriptors 232 are dynamically updated to contain labels describing the theoretical nature of the informational subjects of the buttons within rows 222, 223, 224 and so forth, respectively. [37] The clickable buttons, containing the information as selected for browsing by the user, together with the dynamically generated descriptors serve as a powerful teaching tool. As the user clicks on buttons to explore a rational path through the ontology of the knowledge base, the user is exposed to the dynamically generated descriptors which provide the user with information about the underlying theory of the knowledge being explored. The IQ browser extracts information for both the button displays and the dynamic descriptors from the data stored within the CON Struct data structure. The CON Struct data structure stores this data in a way that decouples information from theory. In other words, the CON Struct data structure decomposes knowledge into its constituent information and theory component parts. Because the IQ Browser is able to decouple information from theory in this fashion, it is able to separately generate display of information and display of theory. While the information and theory are connected, the connection is not cast in stone. That is, for a single concept, such as ship borne aircraft, there can be many different classes of theory, ranging from the taxonomy of how different aircraft are classified by purpose, wingspan, or type of motive power, to theories behind how each aircraft develops lift. The CON Struct data structure is flexible and allows a virtually unlimited number of different theoretical understanding to be associated with the information presented.

[38] While the center button 210 and the buttons in lower rows 222, 223 and so forth, and in upper row 227, 228 and so forth allow the user to define his or her own rational path through the ontology of a knowledge base, but stepping forward and back and by drilling in deeper to explore, there are times when a user will want to jump quickly to another disparate section of the knowledge base, or perhaps to jump outside the current knowledge base to some other source of information. The IQ Browser provides a session history window 230 where it hierarchically displays a list of each concept node visited by the user, in chronological order of the concept nodes visited. Thus a user can scroll through this session history window and select a particular concept node. Doing so causes the browser to load the selected concept as the current concept, which is then displayed in the center button 210.

[39] With reference to Figure 23, the illustrated Rational View has a number of View "Rows". Each ViewRow displays a Con Row on a series of buttons in the row area. Under the buttons of each ViewRow is a single Row Text string that adds explanation to what is being displayed 232. There are 6 Visible ViewRows in the rational View. Three Top' rows extending upward above the center Concept Row (T1 , T2, T3). These rows show a rational path with each selection made by the user in red highlight with red lines connecting these nodes row to row. This shows the rational path of Ontological commitments in the context of the

ConRows. "How did I get to this item in the center". The Center row is larger and shows the most detail. This is called the "Center Concept". Only the selected item is shown from the Con Row. All other nodes are hidden to draw the user's attention to this concept. To the left and right are content and description for this single selected node. The center View Row is the Center

Concept or CC ViewRow. Finally there are two 'Lower' ViewRows below the Center Concept (L1 and L2). A node is never framed in red on these rows since the user Makes a choice on these rows. If the user is making a choice of Concepts or Links only L1 will be displayed. If one of the Nodes on the ConRow on L1 is an Attribute then the Attribute's "Value" will be displayed on a button directly underneath. Each of the nodes on L1 /L2 are Ontologically/Semantically connected to the center concept on the CC ViewRow. Selecting a node makes that node the Center Concept and L1/L2 are replaced with a ConRow that is directly connected to the new Center Concept.

[40] The center button, shown in detail in Fig. 2c, 210 has four functions. First it displays the concept that has "focus". Users select nodes on L1 just below the button. Content (illustrations, videos, documents) appear to the left and a detailed human language description to the right.) Clicking on the right bracket with left arrow on the upper right of the center button takes the user out of the current Ontology and to the top of the Ontology of the concept 'under' the Center button clicked. Clicking on the Center Button twice says "Teach me more about the concept.". If, while in an ontology about changing a light bulb, the center concept was "light bulb socket" If the user clearly understands the concept of light bulb socket, he or she would make another selection on L1 row to keep learning about how to facilitate the process. If the user knew nothing about or was unclear about the concept of a light bulb socket, for example, the user clicks the center button to start learning about light bulb sockets in detail. After the user is satisfied he or she can then confidently click the small icon on the center button to Continue leaning how to change the light bulb. Pressing the control button and clicking on the center button a rectangular box will appear with details about the center button concept. Details include the concept primitive, part of speech, synonyms, description and other information about the concept.,

CON Struct Data Structure

[41] The knowledge acquisition, visualization and storage system stores not only the facts and figures associated with informational concepts, but also the underlying theory of how those informational concepts work with one another in various different planes of understanding. At the core of this capability lies a unique data structure that allows knowledge to be captured and stored in computer memory in a way that decouples (and yet retains a linking relationship) between theory and information. As stated above: Knowledge = Theory + Information (data).

[42] To appreciate the importance of this, consider a paper chemistry textbook. A classic chemistry textbook will often include many facts and figures about atoms, electrons, protons, neutrons, molecular compounds and the like. Such textbook will also certainly include various scientific theories surrounding how and why these basic chemistry building blocks work as they do. Yet, within the two dimensional pages of the book there is no way, nor any motivation, to decouple the physical concepts (atoms, electrons, molecules, etc.) from their underlying theories. While the book might contain a description of the underlying scientific theory explaining atomic and molecular structure, it might also contain biographical vignettes of the scientists who discovered those theories and perhaps even a discussion about the uses of certain chemical compounds in industry. A student wanting to learn physical chemistry has no choice but to read the words on the page and mentally gloss over the biographical vignettes and industrial use discussions that are of no present interest. The classic textbook simply has no way to automatically provide the student with a constrained view of the knowledge to match only what is currently of interest. While the classic textbook may well store knowledge (theory and information), it does so in a way where the theory and information are inseparably and statically joined by virtue of being placed on the same page. There is no way to decouple the theory from the information.

[43] In the disclosed knowledge acquisition, visualization and storage system, the computer is programmed to store information and any associated theory in a data structure based on an atomic concept architecture. A data structure called a CON Struct stores each atomic concept, preferably as one XML document. The computer is programmed to enforce rules that are applied to the CON Struct such that each concept is explicit and unique; a concept is never duplicated.

[44] To avoid and manage duplicates, the system treats the combination of a dataform, primitive and prioritized context (concept tail) as a unique entity. Within a single knowledge base or layer the system enforces this uniqueness requirement prior to "publishing" or making the knowledge base available for use. In the case where two or more knowledge bases (e.g., authored by different persons) are linked together, the system detects any collision between concepts (detects where the uniqueness requirement has been violated) and takes corrective action. Such action can entail merge the concept definitions, or giving the user the option to prefer one concept definition. Concept merger treats a reference to either as a reference to both with each being an alternate Ontology. Preference allows a user to weight such that it may be exclusive or ignored. [45] Dataforms have a sensory or perception type by which the information is tagged according to a perception category (e.g., linguistic, visual, auditory...). Linguistic perception types tag a part of speech. The linguistic dataform comprises a dataform text (a reduced or shortened form, reduced from sense or pure language) and a linguistic long description. In addition, the linguistic dataform includes a language code and a country code. These added components are common to all language elements of the Dataform. Non-Linguistic Dataforms have a Content reference for the expression of the sense (e.g., sound file, picture, movie...).

[46] Fig. 3a shows in high-level diagrammatic fashion the basic computer data structure of the CON Struct. The CON Struct 44 includes a concept header or

CON Header 46 and an optional, variable length concept tail 48. The concept header 46 serves as the concept descriptor. It stores essential information by which each concept is made explicit and unique. The concept tail 48 stores concept relationships, referred to herein as ConRels that define other, higher- level informational structures made up of interrelated concepts, which in aggregate create an intelligent semantic web. By way of example, Fig. 3b shows how the concept header 44 of a particular atomic concept CON Struct references each instance and can store a plurality of pointers, containing the ID codes associated with each of a plurality of other CON Structs 44b, 44c and 44d. In this way, the knowledge base stores information reflecting the fact that, and how, these individual atomic concepts are related to one another. As illustrated in Fig. 3c, concept relationships 48, referenced by ID code pointers, can also link to groups of concepts, ConRel Model Instance Groups, where the groups each represent the aggregate of plural atomic concepts.

[47] In some instances concepts may be linked simply to indicate that one concept is related to the other. However, the concept tail data structure is more powerful than this. Concept linkages can also represent more complex ways in which concepts are related. This is accomplished by associating the individual pointers into groups according to one or more of a plurality of different information architecture models. Essentially, groups of pointers are organized using these models to denote that a higher-level structure exists. For example, a structural model may be applied to designate that a group of pointers belongs to a specific set (e.g., spring, summer, fall, winter belong to the set called seasons). Similarly, structural models may be applied to designate that a group of pointers belongs to a specific taxonomy (e.g., humans belong to the genus "homo," the family

"hominid", the order "primates" the class "mammals, and so forth up to the kingdom of "animals."). Other structural models include composition models, concept models and the like.

[48] The versatility of the concept tail data structure does not end with representing structural models. Behavioral models can also be represented. Thus a behavioral model may be applied to designate that a group of pointers belongs to a specific process, or a specific flow, or a specific comparison, or a specific iteration, and so forth. Functional models and user-defined or user- conceptualized models can also be represented in the same fashion.

[49] Several examples of how pointers are grouped according to models will be presented below in connection with Figs. 7- 1 1 .

[50] With the above overview of the CON Struct in mind, refer now to Fig. 4 which shows the anatomy of the CON Struct data structure, and in particular the construct header 46, in more detail. It will be understood that the preferred data structure is implemented using an XML file that is patterned based on the data structure shown in Fig. 4. Modifications of this data structure are possible. In this regard a more detailed embodiment of the CON Struct data structure is shown in Fig. 19a. The concept header or CON Header 46 begins with a concept ID code (CID) 44. This is a unique, variable length code that uniquely identifies a CON Struct within a Knowledgebase or Knowledge Layer. The CON Struct data structure 44 represents and explicitly describes a unique concept. As such the CON Struct bearing a particular concept ID code (CID) 44 is never duplicated throughout the knowledge base.

[51] By way of example, if a particular ConRel is designated as C145, the computer performs a lookup to find concept 145 and the XML document for that concept is loaded and parsed, so that the descriptions and other properties may be used— including the tail that defines other ConRels structured into one of the Model types.

[52] The CON Struct includes within its XML description one or more dataform descriptors 52 that represent the concept in terms of one or more modalities that a human can perceive through the senses. Thus a dataform connects a concept to a human recognizable language and/or sensory input. Such dataform representations include, words, pictures, sounds, videos, and other modalities. The dataform is preferably represented as an array of dataform subcomponents. As illustrated in Fig. 4, the dataform subcomponents the following: acronym, synonym, ICON, language, part-of-speech. These subcomponents are provided by way of example; other dataform subcomponents are also possible and can be easily added to the XML file structure. It bears noting that whereas each atomic concept (each CON Struct) is unique, a single dataform may represent several different concepts. The word "spring" for example, has several entirely different meanings. Using the dataform portion of the CON Struct data structure, the computer will store the synonym "coil" and the part-of-speech "noun" for a spring used in a mattress, whereas it would store the synonym "leap" and the part-of- speech "verb" for the spring action performed by a cat launching itself towards an unwary mouse.

[53] Further details of the dataform architecture are shown in Figs 12. Fig 12 shows that the dataform is a word, phrase, symbol, design, picture, animation, etc. that represents a concept. Each concept may be represented by one or more dataforms, i.e., synonyms, languages, sensory forms and the like. A single dataform may represent multiple concepts. Using a single dataform for multiple concepts would lead to ambiguity, except for the fact that the CON Struct data structure includes a rich set of metadata that prevents this from happening. To illustrate, Fig. 13 shows how the dataform word "spring" is disambiguated. As seen in Fig. 13, although the same dataform "spring" is used for five different concepts, each can be uniquely distinguished from the other by reference to the additional metadata stored in the CON Struct. Note for example that each of the five different dataforms have entirely different data stored in various descriptor categories shown in that figure.

[54] The CON Struct further includes a description descriptor 54 that contains a text description or explanation of the atomic concept being represented. The CON

Struct further includes a plurality of other attributes that also help disambiguate the atomic concept. These include a source/BibRef descriptor 58 in which is stored information describing where the information contained within the description descriptor 54 was obtained; a CON date descriptor 60 which stores the date the CON Struct was first populated with data; a version descriptor 62 which allows different versions or instantiations of the concept to be represented in the knowledge base. The version descriptor may be used, for example, to allow a knowledge base to contain several different versions based on the same concept, where version number differences enforce the rule that each atomic concept only occurs once in the knowledge base.

[55] In many instances the CON Struct is configured to directly store the data associated with the particular descriptor. One exception, discussed above, is the context descriptor 56, which stores a pointer to a data store of predefined context descriptor attributes. Similarly, the CON Struct also includes an object(s) descriptor 64 that stores one or more pointers to content maintained outside of the XML file describing the CON Struct. The object(s) descriptor can point to, for example, a file or document, a URL link to a web resource, or to an executable program or to code from which an executable program can be interpreted or compiled.

[56] The CON Struct also may include one or more Boolean (TRUE-FALSE/ yes-no) descriptors, that label the concept as belonging to a designated class or group. For example, as illustrated, the function descriptor 66 is a Boolean descriptor indicating whether the concept performs a function. This would be used, for example, to indicate that the CON Struct stores a functional or executable algorithm or code. The interface descriptor 66 indicates that the CON Struct stores information from which an interface to an external application or data source integration may be defined. For example, a set of concepts may be maintained in whole or in part within a database or line of business (LOB) system. An interface Concept 66 allows an IQEngine 22 to automatically keep a Set, corporate functional decomposition (Taxonomy), OrgChart or other information continuously connected with the Theory in the rest of the Knowledgebase. Similarly, the template descriptor 70 identifies the CON Struct as containing a Model definition template from which other CON Structs may be derived. For example, if the knowledge base stores bibliographic information used by a human resources department within a company, an employee template may be stored as a CON Struct, with the template descriptor 70 set to TRUE, and then used to generate individual CON Structs, based on the template, for each of the company employees.

[57] The CON Struct further includes a primitive descriptor 72 that imbue the atomic concept with attributes that the computer uses to apply its inference algorithms.

This primitive may be organized into components representing different knowledge dimensions. As illustrated, these dimensions include a concept classification dimension 74, a semantic domain dimension 76 and a time signature dimension 78. Figure 5 shows the interrelationship of these components in greater detail. Also shown in Fig. 4, the CON Struct includes a concept tail 48 that contains XML descriptions of concept relationships or ConRels that can be categorized as will be discussed in connection with Figs. 6- 1 1 . Referring now to Fig. 5, the primitives are dimensionally organized as shown in the illustrated matrix. Primitives can be assigned to a concept classification dimension comprising independent concepts 80, relational concepts 82 and mediating models 48. Each of these classification dimensions can be assigned a semantic domain attribute selected from the group consisting of physical, semiotic and metaphysical attributes. In addition, each classification can be assigned a time signature attribute selected from the group consisting of time dependent occurrence, time dependent continuant, and time independent universal. To illustrate how these primitives are used, refer to the following excerpt of XML description. See also Appendix A that includes an XML concept example, illustrating how the children's book "The Super Red Racer: Junior Discovers Work" would be represented.

XML extract showing descriptors, including Primitive descriptor:

<IQPIatform_Concept CID="C43" GUID="28B4-2342-BAA6-869B"xT>The Super Red

Racer: Junior Discovers Work</T>

<Descriptors>

<Acronym>Red Racer</Acronym> <Description>Children's literature book describing the value of

work</Description>

<Source>This is an example source</Source>

<Co n text> B k- Fi cti o n </Co n text>

<ConceptDate>9/12/2012 15:35:123</ConceptDate>

<Version>1 </Version>

<BibRef>(Ramsey 2012)</BibRef>

<Synonyms>

<Synonym>The Super Red Racer</Synonym>

</Synonyms>

<SemanticClass>Physicak/SemanticClass>

<TimeSignature>Time Dependent; Continuant</TimeSignature>

<Primitive>Object</Primitive>

<PartofSpeech>Noun</PartofSpeech>

<Objectsx/Objects>

<Securityx/Security>

<Language>English</Language>

<lnterface>No</lnterface>

<Function>No</Function>

<Template>No</Template>

</Descriptors>

[58] Referring next to Fig. 6, the concept tail 48 of the CON Struct data structure will now be described. The concept tail serves as the portion of the data structure where links are recorded. These links, called ConRels, in effect define the web of ontologies that make up a knowledge base. In a simple form the ConRels can represent a ConRel instance by which one concept may be tied or linked to another concept or another ConRel within the tail of another concept. This is illustrated in Fig. 7, where the "Seasons" concept C86 is linked to the "spring" concept at 88. Note how the concept tail 48 of the Seasons concept C86 contains the CID reference to the concept header 46 of the spring concept C20 . This link records the fact that "spring" is a ConRel instance of "season."

[59] In a more complex form, the ConRel can record how plural concepts can be grouped into predefined models. Referring to Fig. 8, the concept tail 48 of the seasons concept C86 contains a [SetJ data structure (A system defined structural Model) describing the members of the set "Seasons" as comprising four concepts: "spring," "summer," "fall," and "winter." Each of these four members of the set have pointers that point to the atomic concepts for each of spring, summer, fall and winter, as illustrated at 90, 92, 94 and 96.

[60] The [SetJ data structure used to represent the four seasons is one of a plurality of data structures that are used by the computer to represent structural models. In this regard, the set is but one example of a structural model that may be represented using the XML data structure. Other examples of structural models include, taxonomy, composition, concept and the like. In addition to the structural models, the XML data structure may also represent behavioral models (e.g., process, flow, sequence, comparison, iteration, and so forth) and functional or user conceptualized models.

[61] Fig. 9 shows an example of a behavioral model (a sequence) and how it is represented using the concept tail of the CON Struct data structure. The same example of Fig. 9 also shows another example of a structural model (a composition). The illustrated example shows how the ABC Company concept includes its composition at 98 and its recruiting sequence at 100. Note how the concept tail 48 of the illustrated concept provides information about how the ABC Company is composed into different regions and a bit of detail about how it's internal operations are conducted. Thus the information contained in the concept tail can include more than mere pointers to other related pieces of information. The concept tails can themselves store information about the atomic concept being represented by its particular CON Struct. Of course, the information included in the concept tail can also serve as pointers, and this has been illustrated in Fig. 9, where each of the ConRels that have been organized into [Composition^ and {Sequence ^ } models also points to another concept.

[62] To begin to appreciate the power of the CON Struct data structure, refer now to Figs. 10 and 1 1 , which show how the IQ Browser 26 (Fig. 1 a) generates the user display, as the computer parses the XML statement contained within the CON Struct data structure. For this example, the ConRel depicted in Fig. 9 will be used. The computer parses the XML statement beginning at the top of the concept header 46. The computer parses the XML by reading line-by-line. The IQ browser algorithm treats each outline level as a separate concept row (ConRow). The computer generates a graphical representation of the XML- described concept, including each concept row and these are displayed on the graphical display of the IQ browser.

[63] The preferred graphical display comprises a series of clickable buttons, each button labeled according to the concept the button represents. The labels for each button are derived by parsing the concept ID (CID) of each concept. More specifically, the CID includes a string text portion demarcated by quotes. This computer extracts this string text portion and uses it to label each button. To begin, the computer extracts the string text associated with the current CON Struct being operated upon. This string text is used to generate the center concept button 102. Next the computer parses each outline level line of the XML within the concept tail and uses that to generate a series of lower rational view buttons displayed in a row beneath the center concept, as at 104. Like the center concept, the computer generates these lower rational views as clickable buttons with labels that correspond to the "quoted" text portion of the CID for each outline level entry.

[64] More specifically, the computer executes an algorithm that gets the button text from the XML. Mostly it is the Title of the concept but can include other items depending on the node or the button, i.e. The Center button will display the attribute and value where normally they are on L1 and L2 View Rows. Each Model Tag (Set, Process, Concept, Attribute, Orgchart... gets to define what to display on a button.

[65] In the regions adjacent the center concept button 212 and 216 the computer displays additional information about the concept reflected in the center button. This additional information is extracted by parsing the descriptors found within the concept header of the current ConRel. Thus in the illustrated example, the regions adjacent the center concept button 212 are filled with additional information which the computer extracts (in this case) from the objects descriptor 64 and from the description descriptor 54 (see Fig. 4).

[66] If the user clicks one of the lower rational view buttons 222, the computer changes the display to move the user-selected concept to the center concept location at 210 and the concept that previously occupied the center location (in this case the ABC Company) is moved to the rational view row 227 above the center concept. Upon changing the center concept, the IQ browser places its current concept pointer on the CON Struct of the concept at the center location within the current concept memory. Thus this new CON Struct is used to populate the display screen. If the user wants to go back to the immediately previous concept he or she can do so by clicking a button in the rational view row above.

[67] Specifically, the IQ Browser applies highlighting or color outlining to a button that will "go back" through the Rational Path. Pressing any other button changes the rational path, allowing an alternate choice from that point, and all view rows below that point since the button clicked is always "centered."

[68] As the user continues to explore the knowledge base by clicking concept buttons, the IQ browser records the user's selection as a ordered set which defines the rational path that reflect how the user was reasoning as he or she selected the concept buttons. The IQ browser algorithm applies a highlighting color (e.g. outlining buttons in red) to demarcate buttons that form part of the rational path. As the user clicks through the concept choices, each selected concept becomes the center button, which in turn, redefines the ontological commitment the user has made. As concepts are selected, the section row the concept came from moves up a row, allowing the user to visualize the conceptual path. As seen in Fig. 1 1 , the IQ browser algorithm will continue to parse deeper into the XML statement within the concept tail each time the user selects one of the concepts from the lower rational view row. When the last concept in the rational path is reached (i.e., when the user reaches the bottom

(leaf node) of the XML statement for the current CON Struct, the IQ browser algorithm may automatically insert a relevant Con Row to fill at least one button in the L1 rational view row. The browser uses its inference algorithm to determine what is considered relevant to the concept being explored.

[69] In a preferred embodiment the AutoRel selections (see Fig. 2a) use an inference algorithm to show that the system infers to be a related Concept, related content, related search results in the AutoRels menu area.

[70] To illustrate how a rational path is explored within a single ontology, using the IQ browser, refer to Fig. 17. In this figure, the user begins with the ABC, Inc. concept and learns that the ABC company has a "fleet maintenance" function.

Drilling down into the fleet maintenance concept, the user learns that the ABC company utilizes at least four different makes of vehicles. Selecting, "Chevrolet" and then "2012 Chevy" the user then learns that this vehicle has several different scheduled maintenance requirements. Selecting the 3,000 Mile Maintenance option, the user learns details about this specific maintenance program, including who to contact and what the specific maintenance inspection points look like within the vehicle.

[71] So far, the discussion has explored how the IQ browser will parse the CON Struct data structure to follow a rational path within a single ontology. Fig. 17 provided one example. However, the data structure of the disclosed embodiment will also allow a user to navigate among several different knowledge bases that are not necessarily ontologically related. This is accomplished using the concept reference or ConRef data structure, shown in Fig. 16. The ConRef links plural knowledge bases or separate layers within a single knowledge base together, using pointers. A ConRef is useful, for example where two knowledge bases have been authored by separate authors, who may not have annotated information in exactly the same way or to the same depth. The ConRef allows these two knowledge bases to be linked together, despite their inhomogeneity. A ConRef may also be used within a single knowledge base, allowing a user to jump between entirely different levels within a hierarchical knowledge base without sequentially traversing a rational path of concepts linked by ConRels.

[72] The basic ConRef data structure, shown at 105 in Fig. 16, is similar in structure to the ConRel. The ConRef describes a concept reference path by storing pointers to the URL/URI location of another knowledge base, or to another layer within the same knowledge base. The ConRef data structure thus stores the following items:

[73] 1 . URL/URI locator that specifies exactly where the referenced knowledge base is hosted.

[74] 2. Publisher ID that provides the identity of the party who published the knowledge base. Unique IDs are assigned to each publisher, thus these IDs will disambiguate situations where a publishing entity may use different names in common parlance (e.g., IBM, International Business Machines, etc.). One ID is used for each publishing entity, regardless of how many names or aliases that publisher may have. Note that indeed the publisher may be represented as a concept within a knowledge base of development entities. Thus the Publisher ID may correspond to a concept ID within the registry of the development entity knowledge base.

[75] 3. Publication ID that provides a unique identifier for each publication.

This is a globally unique ID stored as a concept within the registry of the knowledge base. [76] 4. Concept CID that assigns a unique concept ID (CID) for each concept within a knowledge base.

[77] 5. Concept path to Con Row that identifies the precise concept row within an ontology to be referenced within the knowledge base located at the URL/URI locator. Thus the (1 ) URL/URI together with the (5) Concept path descriptor uniquely define where the ConRef path points.

[78] 6. Selected ConRel node within the ConRow selection that specifies a particular concept (button) within the specified concept path.

[79] Any children directly under this path (Subordinate ConRels) form the next ConRow from which the next (what if) choice is made, creating an ontological commitment which adds to a connected Rational Path further constraining future choices.

[80] Also shown at 107 in Fig. 16 is an example ConRef path. Each of the above six component parts of the ConRef has been labeled.

[81] To illustrate a ConRef link in use, Fig 16, depicts three separate knowledge bases KB1 , KB2 and KB3. Knowledge bases KB1 and KB2 are joined by a ConRef link 106. In the example presented in Fig. 16, the IQ browser 26 is navigating concepts within knowledge base KB1 . For this example, it is assumed that the user opens KB1 and navigates to a concept row 108 containing three nodes. Choosing the first node results in continuing through the ontology defined by the KB1 knowledge base. Choosing the second node causes the IQ browser 26 to follow the ConRef link 106 to knowledge base KB2. Instead choosing the third node of concept row 108 causes the IQ browser 26 to follow the ConRel link 1 12, thus navigating to another ontology stored and accessed over a local network KB3. In the illustrated example, knowledge bases KB1 and KB2 are stored and accessed via the Internet cloud. Alternatively, the IQ Browser can navigate via path 1 12 to knowledge base KB3, which is stored and accessed over a local network.

[82] As further shown in Fig. 18, the Rational Path can be organized as an ordered list of ConRef paths. Preferably a universal time stamp and time duration is applied to each ConRef path. This comprises a high resolution time stamp that the browser uses to allow playback of a rational path according to a specified time interval. The high resolution time stamp indicates how long the current view is presented before transitioning to the next item. This value can indicate to wait indefinitely for the user to give feedback, or wait for the user or proceed after the timestamp has expired or be a fixed span of time. The system uses these values to "replay items" at the indicated speed or some multiple 50%, 200%... The system also utilizes user response vs. the authored interval values as one variable to get an indication of how well the material is being understood. The inference algorithm uses these times to determine "time on concept" which can tell the system how "confused" someone is in relationship to the concept matter. E.g. If a user spends long periods of time on a center concept and looks at content objects and explores or searches on a dataform, it indicates the user may be confused about that concept.

[83] While the illustrated example stays within a single concept's ontology, the rational path may cross concept or knowledgebase boundaries. In the illustrated examples of Fig. 18, the notation C[4], C[1 ], etc. indicates the sequential number assigned to the ConRef. Thus C[4] indicates the fourth concept in the Con Row at the path specified. If desired, a concept ID (CID) may also be appended to the path designation, e.g., C[4:C586], where C586 is the concept ID representing the fourth concept.

[84] The ordered list may comprise a rich variety of different items, including for example:

[85] A ConRef can present a new Con Row

[86] A Content Reference that presents pictures, audio, video, documents...

[87] A Conceptual or other Query that presents a new Con Row or IQS View

[88] A functional Con that executes an algorithm or gathers user feedback

[89] An update of the current IQS View or a transition to another IQS View

Details of Constraint Browser Algorithms

[90] The presently preferred IQ browser is designed to generate a plurality of different views, each constructed from the same basic data stored within the CON Struct data structure. Figure 2a discussed above illustrates the rational view presented by the browser. The presently preferred IQ browser generates the following views:

Rational View - provides an interactive interface composed of colored buttons inscribed with common language labels that are organized into structural, behavioral, functional and user defined concept models according to well- justified theory, that convey explicit knowledge about the subject matter represented by the rational view content. As users click along the rational paths represented by the buttons, users can rapidly learn who, what, when, where, and how-much information, and how, why and what-if knowledge.

[92] Home View - provides a pictorial visualization with a number of ConRef Links or Conceptual search Links specifically created by a Knowledge base Engineer (Author) to provide quick and intuitive access to guide the user to common or important entry points within the Knowledge base. Whereas the Cluster View (below) shows a comprehensive map of Clusters within the entire Knowledge base; this view, may present a single Concept ontology or ConRef as an entry point, present multiple entry points to important knowledge clusters or be organized any way that the Knowledge base Engineer (Author) of the knowledge base chooses.

[93] Timeline View - provides an interactive interface that is embedded into the upper section of the Rational view screen. The timeline function replaces the standard calendar structure with a left-to-right timeline composed of time interval buttons that can be labeled with any concept and associated with any date. When a Timeline element is clicked, its concept is displayed on the center button of the Rational View Screen along with its ontological commitment.

[94] Analytic View - provides an interactive interface composed of colored buttons inscribed with common language labels that are organized to assist users in the process of making diagnostic, trade-off, best practice, and other kinds of analytic decisions. The advantage of the analytic view is that users are exposed to the theory underlying the decision process, as they progress through the process. The Analytic View provides a means of saving analytic processes to the UzrBox view for future review. See attached drawing example of one possible analytic screen.

[95] Learn View - provides an interactive interface composed of colored buttons inscribed with common language labels that are organized into commonly used training and testing configurations. Content is interrelated with pop-up windows that provide supporting documentation that further explains and expands on presented knowledge content. It allows administrators to record user progress and results, made available within the knowledge base structure. Provides next level suggestions and opportunities as defined by knowledge engineering developers. [96] Audio-Visual View - provides an interactive interface composed of a video display with appended video content such as credits, written explanations, related presentations and relevant materials that may appear in other IQ Browser views.

[97] Dashboard View - provides an interactive interface composed of user-defined graphics with appended links for both the knowledge base owner and users, that provide insight and understanding to the displayed quantitative content based on research and analytics. What prevailing trends are affecting a down turn in sales? What are the analytics between current quarter's sales and last quarter's sales.

[98] Data View - provides multiple interactive interfaces composed of user-defined data fields that accommodate conventional data models, and rapidly developed ad hoc data models required for specialized requirements. The Data View is commonly used to import key data from disparate data systems and combine that data in uniquely integrated configurations.

[99] Engineering/Scientific View - provides an interactive interface composed of graphics and other engineering and scientific requirements, such as waveforms interferometry, values analysis, and in general, content related to physical, biological, and chemical requirements.

[100] Financial View - provides an interactive interface composed of multiple financial spreadsheets, charts and graphics related to the ontologies defined within a knowledgebase.

[101] Map View - provides an interactive interface composed of step-by-step, mash-up content that allows users to drill down to specific content with a few clicks. Content might include easily accessible statistical, financial or explanatory content that provide insight and understanding to the screen image within the view. Typical applications might be political maps ranging from current and past Federal, State, County, Municipality levels with corresponding statistics and analytics. Other Map View might include worldwide geological maps representing soil compositions, images of physical objects (airplanes, boats, buildings), with user defined interactive drill-down features.

[102] UzrBox View - provides an interactive interface that allows users to store personalized content (ConRef links, UzrBot links, Analytic and Learn View links, etc. Provides each user a platform for personalizing their use of the IQX Cloud, IQX Hybrid and IQX Server knowledge base products. [103] Social/Orq View - provides an interactive interface composed of specialized organizational functions such as organization charts, designed to integrate content from social media sites like Linked-ln, Facebook, etc.

[104] Knowledge base Cluster View - provides an interactive knowledge project model map that allows users to visually see how the conceptual elements of a knowledge project flow together, allowing them to click on any node element of the model to access that content within the Rational View. The term N-archy can be used to describe the interrelations and binding theory that compose ConRel structures.

[105] Discovery/Find View - provides an interactive query environment that allows users to identify models related to one area of discipline that might apply to other areas of discipline within an organization - or beyond. The Discovery/Find View works in conjunction with OrgBot and EditBot. [106] Other technology functions include OrgBot, EditBot, UzrBot.

[107] OrgBot - allows knowledgebase administrator to define specific search and retrieval criteria that will advance the value, depth and breadth of a knowledge base product. Retrieved content is stored with the Administrator Dashboard View.

[108] UzrBot - allows individual users to define specific search and retrieval criteria that will advance the value, depth and breadth of their personal knowledgebase content. Retrieved content is stored with the UzrBot View.

[109] EditBot - is a knowledge base tool that knowledge base administrators use to crawl large knowledge base products to insure on-going functionality and fidelity. The application of EditBot includes the primary knowledge base, subordinate knowledge base layers, and remote knowledge base products.

Browser display generation and navigation algorithm

[110] The IQ browser generates each of these views using a display generation and navigation algorithm diagrammatically shown in Fig. 19b. The browser display generation and constrained navigation algorithm operates upon the knowledge base 24, shown in Fig. 19a as a collection of individual XML Documents (CON Structs) that have been populated using the IQ Builder (Fig. 1 a). The browser performs a search of the knowledge base, based on a user input or predefined starting search criterion, as at 250. The search retrieves a current concept, shown diagrammatically at 252. This current concept can be copied from the knowledge base into a separate buffer location within the processor memory or the browser display and navigation algorithm operate upon the copy of the current concept XML data stored within the memory containing the knowledge base.

[111] The browser display generation and navigation algorithm then parses the XML data as at 254 and uses the parsed information to generate the graphical display as at 256. In this regard, the graphical display 200 (as seen in more detail in Fig. 2a) is generated using specific selected portions of the XML data to populate the individual button and descriptor structures of the display 200 interface. This has been diagrammatically illustrated where selected portions of the CON Struct data structure are mapped to the individual buttons and descriptor structures by the algorithm.

[112] The algorithm then waits until the user interacts with the display, as by clicking one of the clickable buttons. When user input is detected, the algorithm handles the user button click as at 258. As part of this operation the display generation and navigation algorithm populates a variable within the computer memory to represent the user selection, as shown diagrammatically at 260. This user selection will correspond to the identity of the button that was clicked. Each time the clicked button corresponds to a navigational move, either along a rational path (following a ConRel), or as a jump to another knowledge base or layer within a knowledge base (following a ConRef), a record of that selection is stored in the session history log 262. The session history log may be implemented as an ordered set in memory. The browser algorithm uses the session history log to generate the session history window 230 (Fig. 2a).

[113] If the button is mapped to a calculation or algorithmic operation (such as mapped to a button in row 224 of Fig. 2a) the user selection is processed by the generate display 256 portion of the algorithm and a new display is generated based on what was requested by the user. Alternatively, if the button is mapped to a different concept (such as mapped to a button in rows 222 or 228 of Fig. 2a) the user selection is used at step 250 to perform a new search of the knowledge base, thereby retrieving a new concept for display in the center button 210 of Fig. 2a. Browser inference engine algorithm [114] While browsing within a pre-populated knowledge base, such as a knowledge base created by the IQ builder 20 (Fig. 1 a), traversing a rational path through the ontology of the knowledge base is largely dictated by the established ConRel links defined within the XML data. Thus clicking on one of the buttons in the upper rational view row 228 will cause the browser to explore the knowledge base in the Why? direction, essentially as far as the user wants to go until the engineered link end is reached. Thus the buttons in row 228 do not merely provide access to concepts the user once viewed on the center button 210, but rather access to all concepts that the knowledge base creator linked to the current concept displayed in the center button. Similarly, clicking on one of the buttons in the lower row 222 will cause the browser to explore the knowledge base in the How? direction, essentially as far as the user wants to go until the engineered link end is reached.

[115] When either the engineered Why? end or the engineered How? end is reached, the user's learning experience does not need to stop, however. This is because the IQ Browser includes an inference engine with a collection of inference algorithms that generate ontologically consistent suggested new links. These are accessed by clicking on a special button, designated as AutoRels button 240. Pushing this button invokes the browser's inference engine algorithms. These algorithms use the primitive of the ontological commitment concept referenced by the center button 210 and identify other concepts (not already included by ConRel linkages to the present knowledge base ontology. In this way the IQ Browser is able to suggest other information that is ontologically related, but not part of the pre-populated knowledge base.

[116] Among the inference algorithms performed by the inference engine are the following:

• Infer by using dataforms - finding Synonyms by definition or alternate language.

Abbreviations & Acronyms. Two dimensional with Semantic dictionary on one and ConRel and Model Instances on the other.

· Infer from Intra Concept ConRels

• ConRel's Concept Ontologies - Connect a ConRel link to its Root Ontologies

• ConRel Instances - From simple location of other instances of the same ConRel to Heuristic analysis of Clusters and their linkage. • ConRel Model Instance - Assemblies in a composition that have statistically similar parts relationship may be the same.

• ConRel Density - Low density single set/simple composition indicates identity ("Set - Discount Department Stores"). High density concept sets from target Concept or ConRel out indicates more detail.

• ConRel Model Definition and Rules - Models and how they are built and how they are nested convey meaning.

• ConRel Structural Proximity - The assemblies above being similar in their entirety indicate sameness. Being deeper within a larger composition indicate use as sub assembly or instance...

• Infer from Semi Structured or Unstructured Text using semantic dictionary Knowledgebase

• Item that is semantically synonymous or connected through heuristics, density or proximity

· Concept Object Content - CON Struct contains references to content object documents that contain text and semi structured data.

• Concept Description - Short text block semantically tied to concept.

Knowledge Base Layers and Indexing

[117] As previously explained the disclosed system implements a knowledge base representing individual but linked atomic concepts that together form a network of linked ontologies. Figure 14 summarizes this aspect of the disclosed system, where the ontological collection of concepts are represented using a concept model based on the CON Struct data structure. In the examples presented above, the focus was on a single knowledge base. However, the disclosed system also supports a larger knowledge base organizational structure where plural knowledge bases are organized into layers, shown at 265 in Fig. 14. These layers do not necessarily need to be physically linked to one another, as by using ConRels within the CON Struct data structure. Rather, the ConRefs permit a virtual knowledge base to be constructed, as a collection of layers which work together through the reference mechanism of the ConRef structure. This allows diverse layers to be assembled virtually, where the constituent parts defining each of the layers belongs to a different class of information. Thus as illustrated, a virtual knowledge base can comprise one or more primary knowledge layers (constructed as discussed above) that are joined by reference with user work-in-progress layers, secondary knowledge layers, workgroup shared knowledge base layers, project layers and even purchased knowledge layers.

[118] When larger knowledge bases are assembled, either using ConRel linking or using referential ConRef linking, computer performance may need to be improved through database indexing. A presently preferred way of indexing the knowledge base is illustrated in Fig. 15. As shown, a plurality of master indexes are constructed. Using the indexes can greatly speed up the search for information within the knowledge base. These include a master concept index, that uses the CID as its primary key. It serves to locate concept and concept tails using the CID. A master dataform index is constructed upon the dataform (see Fig. 12) where the text or symbol within the dataform serves as the primary key. This index is used to retrieve a list of concepts (CIDs) that each dataform represents. A master full text index is further constructed, where the primary key is a word. This index is used to find a list of occurrences and locations of a word within a knowledge base, or any documents attached to a concept. A master concept reference index use the CID as its primary key. It is used to locate a list of unique concepts, where the CID is used within a concept tail along with a number of times a concept is used within that tail. Finally, a master model tracking index is constructed using the unique name and model type as the primary key. This index is used to find a list of concepts where the model is used within a concept tail.

Data Structure Details

[119] In one embodiment, a non-transitory computer-readable medium is programmed according to the data structure shown in outline form in Fig. 20. The data structure illustrates how a knowledgebase is represented in the computer- readable medium. Specifically, the illustrated data structure describes the structure compositionally and functionally. In the outline below, the following terms are used:

[120] Composition - denotes that the corresponding element is a major data structure compositional element for which memory is allocated within the computer- readable medium. [121] Set - denotes that the corresponding element is a data structure element comprising a collection of individual sub-components for which memory is allocated within the computer-readable medium.

[122] Choice - denotes that the corresponding element is an optional data structure element.

[123] Becomes -denotes data structure elements are instantiated into data objects that are used by the system to define relationships among different informational components.

[124] Referring to Fig 20, the data structure is configured to store a knowledgebase within a computer-readable medium. The knowledgebase integrates both the encoded information representing the knowledge to be stored, as well as the functions that operate on that encoded information. The knowledgebase creates a common language, allowing integration and analysis despite disparate authorship across authors, time, language and author's intent.

[125] As illustrated at 300, the knowledgebase comprises one or more knowledge layers 302. These knowledge layers are in turn composed of concepts 304. The concept 304 stores a core atomic unit within the knowledgebase. Each concept contains both its relationships to other concepts as well as the DNA rules that define those relationships, as will be discussed more fully below. The concept 304 when linked to other concepts forms a declarative network of knowledge representations.

[126] As previously discussed, the concept 304 is composed of a first main component, the con struct descriptor 306 and the optional concept tail descriptor 308. The con struct descriptor 306 includes a unique construct identifier or CID 310 and a set of dataforms 312. The CID 310 uniquely identifies the concept within a logical group of concepts that form a knowledge layer. The dataforms 312 encode information used to provide descriptive, associated and/or disambiguating information.

[127] More specifically, the dataform 312 creates a set of perception vectors for person or computing device to identify a concept. The dataform includes a

Perception Type attribute that is selectively set to identify whether the dataform is of a linguistic type 316, of a human sense type, or of a non-human perception type. If the perception type is linguistic, the data structure also includes a language element 320 used to identify what language is being used (e.g., English, French, Chinese, etc.). The human perception types correspond to human senses (e.g., a visual picture, and audible sound, a tactile sensation, a taste, a smell, etc.). Thus by selecting the proper attribute, the dataform is coded so the processor operating on the data structure can determine in what form the data are represented. An audio wav file, for example, would be coded as "audible sound." Examples of non-human perception types include X-rays, gamma rays, computer code, etc.).

[128] Dataforms are used by the computer to help identify and correct errors in identification of concepts, as well as errors in relationships defined within the Concept Tail 308. Dataforms may be shared by one or more concepts.

[129] In addition to the dataform, the con struct 306 is also composed of a concept primitive 322. The concept primitive helps disambiguate concepts with four dimensions: knowledge domain, time state, time type, and concept type (model group). These four dimensions are selectable as choices, as illustrated.

[130] The knowledge domain attributes 324 identify the primitive as corresponding to physical 324a, semiotic 324b or metaphysical 324c information.

[131] The time state dimension can be selected to indicate whether the time state is dependent 326a or independent 326b. To illustrate, the half-life of a radioactive isotope might be coded as having a time state that is independent of temperature, whereas the evaporation time of a liquid might be coded as dependent on temperature.

[132] The time type dimension 328 can be selected to associate a time relationship as being an occurrence 328a, a continuant 328b or universal 328c. For example an occurrence may be defined as an event that happens within a predefined duration of time, such as a duration less than or equal to 5 seconds (although other durations could also be used).

[133] The concept primitive also may include a concept type defined in terms of model groups 330. Model groups are used to partition a concept by generic relation to other concepts. These relations include: independent concepts330a, relational concepts 330b and interactive concepts 330c.

[134] All of the foregoing are used to encode the basic con struct 306 information used by the system to encode and store information about a concept (the atomic unit from which a knowledge layer, and ultimately a knowledgebase is defined. As discussed above, the con struct includes enough information to uniquely identify each concept, while providing information that serves to describe the concept and disambiguate it from other concepts. [135] In addition to the con struct 306, the concept 304 also may include the concept tail 308 that encode how individual concepts are related to each other. The concept tail 308 comprises a set of though element entities 340 that in turn comprise a set of IQS nodes that, when instantiated, become a model instance 344 describing how individual concepts relate to one another.

[136] Each node 346 within the set of IQS nodes 342 is a subatomic assembly that encodes the DNA structure, relationships and interactions between atomic concepts. Nodes are globally unique. Nodes are only associated with a single concept in a single knowledgebase layer. The content of a node may be duplicated in another node in one or more concepts. Similarly, a node's contents may be duplicated in one or more knowledgebase layers. These nodes 346 consist of a globally unique identifier GUID 348, and a model primitive 350 that may be selected to represent one of: a predefined system model primitive 350a (e.g., concept, set, etc.), a user model primitive 350b, such as CID within the same knowledge layer, or a user model in a different layer (using a concept reference or ConRef).

[137] The node 346 further includes a related concept reference 352 which can be one of: a CID (con rel) within the same knowledge layer, or a con rel in a different layer, using a concept reference (ConRef). Optional parameters may also be included, if required for the model primitive specified (if any). Each newly authored concept 304 becomes a potential user model primitive 350b to model other knowledge nodes. Either a system model primitive 350a or a user model primitive 350b may be used as the model primitive property of any node. If a node 346 shows only degree of relationship and no model is required, then the system model primitive "concept" is used as the IQS model CID.

[138] The concept tail comprises a hierarchical set of IQS nodes 342. The concept tail further comprises a single IQS concept that all nodes in the set are uniquely related to. This single concept is called the root IQS concept. All root nodes are directly related to the root IQS concept. Each child node creates an indirect relationship through its parental chain to the root IQS concept. Each node is related to the root concept through each of its ancestors.

[139] Thus the structure of the concept tail is that of a tree. A node may have a link that can point to any other IQS node in the same knowledge layer, or to a node in another knowledge layer. This can be used to extend the tree, or to create a directed graph. [140] Regarding the parent-child relationship, a node that is closer to the root IQS concept is considered the parent and is more directly related to the root concept. A node that is further away from the root concept is considered the child (grandchild, great grandchild, etc.) and is less and less directly related the further from the root that it gets. An edge only represents a relationship when connecting two nodes. A subset of nodes that are connected by edges in the concept tail defines a thought element 340. The thought element identifies a chain of concept relationships which may be intra- or inter-concept, or which may be intra- or inter-knowledgebase.

[141] Thus nodes are structured by relationship and by degree of separation. The children of a node are structured by rules associated with that node's model primitive. The node enforces rules for the node's children only when the concept associated with that parent node model's concept primitive includes explicit DNA rules which model any such rules and the degree of their enforcement.

[142] Thus the thought element 340 consists of two or more IQS knowledge nodes that are directly connected to each other by edge(s). Each node in the thought element may have zero or more children. Within a thought element the same node may appear more than once. Circuits are allowed only to the extent that the same edge may not be traversed more than one time in an element. For example: C1— e3- C6— e2— C1 represents a valid circuit.

[143] A node may be in one or more concepts. Similarly, a node may be in one or more knowledgebase layers.

[144] Any knowledge node and all of its children form a thought element that is an ad- hoc IQS model 348 as well as the first instance of that IQS model. An IQS concept with its associated concept tail is a thought element 340 that forms an

IQS model and thus fully models the concept within that body of knowledge. A knowledge author, using the IQ builder 20 (Fig. 1 a) can make any of these ad- hoc models into a user model for reuse.

[145] Having thus described the knowledgebase data structure, a line of thought 400 is represented by a simple data structure that stores a rational path 402. The rational path 402 identifies a traversal of nodes representing the line of thought, and this traversal may be intra-concept, inter-concept, inter-knowledgebase or intra-knowledgebase.

[146] Lines of thought are represented in the data structure stored in non-transitory computer-readable memory, preferably as an ordered array of references to concepts 304 or nodes 342. An optional, high-resolution universal timestamp may be applied to each item of the array to record when an item was added. The timestamp also allows the computer to derive the time elapsed between any two entries in the array.

[147] A line of thought forms a rational path for a line of thinking. The thought elements may be included, but are not required to be. A line of thought may simply record a traversal of all or part of one or more concepts as well as hold derived or inferred knowledge. Thus the line of thought array can act as a vessel for nodes that can hold query or research results, evidence of computer or human learning as well as content for potential new concepts.

[148] Within the data structure, concept DNA and system DNA define the thought element rules used by the computer in constructing the concept tails 308 and the resulting model instances 344. DNA system models consist of the following:

[149] 1 . an IQS thought element associated with a concept, defining the specifics of how to construct and recognize all or part of a concept;

2. IQS DNA system models that allow the system to enforce rules for concept tail creation;

3. IQS DNA system models that assist the computer in finding the "sameness" of an IQS thought element to an IQS concept, or to another IQS thought element.

[150] The disclosed data structure advantageously arranges information in a way that allows the computer to organize and retrieve that information far more efficiently than conventional techniques will afford. This makes the disclosed data structure ideal for constructing knowledge base systems and artificial intelligence systems for information storage and retrieval. As will be understood from the foregoing, the disclosed data structure captures patterns of thought (in an artificial intelligence, computer-implemented system) covering the following patterns of thought.

[151] Structural patterns of thought include the most basic organizational concepts, such as sets, lists, static timelines, charts and graphs to more complex organizational structures such as arrays, matrix structures and organizational charts, and finally, to broad organizational structures such as compositions and taxonomies. Each of the patterns of thought enables the computer to efficiently organize data and information.

[152] Behavioral patterns of thought are also organizational concepts, but they specifically define actions, procedures, processes, and interactive exchanges. Behavioral patterns of thought include: links, flows, iterations, sequences, interactive timelines, comparisons, and basic analytics such as "choice" and, "if this, then that" propositions. As with structural patterns, these behavioral patterns are captured by the data structure and enable the computer to more efficiently organize data and information.

[153] Functional patterns of thought represent commonly used concepts related to mathematics (add, subtract, multiply, divide), relational concepts such as greater than, less than, greater or equal to, and less than or equal to considerations, and basic logical arguments such as, and, or, not, true/false. Other functional patterns of thought include calendars, legends, alarms, and other discrete functions used in all areas of life. As with structural and behavioral patterns, these functional patterns are captured by the data structure and enable the computer to more efficiently organize data and information.

[154] Analytical patterns of thought represent the deepest, most penetrating though processes that extract hidden knowledge that, in most cases, is beyond the human mind's capacity to easily figure out due to the complexity (too many moving parts) of a situation or circumstance. There are thousands of analytic processes and algorithms related to every human endeavor, such as dashboards (quantitative states), statistics (research conclusions), object/attribute/value analytics used for trade-off analysis, distributed value analytics related to multi-variable processes with conditions, and predictive analytics related to predicting impacts, outcomes and consequences related to most every discipline. As with the other patterns of thought, the disclosed data structure allows the computer to efficiently store these analytical patterns, thus enabling the computer to more efficiently organize data and information used by these patterns.

[155] The foregoing description of the embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment, but, where applicable, are interchangeable and can be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. Such variations are not to be regarded as a departure from the disclosure, and all such modifications are intended to be included within the scope of the disclosure. APPENDIX A

<?xml version="1 .0" encoding="UTF-8"?>

<!-- SCR_0010 C043 Version 2015_0206 -->

<!-- see [Combine_FieldsJ below Source Information Model. -->

<!-- see Scenes for BibRefs C67, C68, C69~>

<!-- see Dave Ramsey's Publications for synonym use-->

<!-- SCR_0010 C043 Version 2015_0206 -->

<IQPIatform_Concept CID="C43" GUID="28B4-2342-BAA6-869B"xT>The Super Red Racer: Junior Discovers Work</T>

<Descriptors>

<Acronym>Red Racer</Acronym>

<Description>Children's literature book describing the value of

work</Description>

<Source>This is an example source</Source>

<Context>Bk-Fiction</Context>

<ConceptDate>9/12/2012 15:35:123</ConceptDate>

<Version>1 </Version>

<BibRef>(Ramsey 2012)</BibRef>

<Synonyms>

<Synonym>The Super Red Racer</Synonym>

</Synonyms>

<SemanticClass>Physicak/SemanticClass>

<TimeSignature>Time Dependent; Continuant</TimeSignature>

<Primitive>Object</Primitive>

<PartofSpeech>Noun</PartofSpeech>

<Objectsx/Objects>

<Securityx/Security>

<Language>English</Language>

<lnterface>No</lnterface>

<Function>No</Function>

<Template>No</Template>

</Descriptors>

<Ontology>

<RationalView_>

<Set CID="43"> <T>The Super Red Racer: Junior Discovers Work</T> <C CID="C44"> <T>Red Racer Source lnformation</T>

<AtList>

<At CID="C2"xT>Author#1 Full Name</TxCLS>Text</CLSxV CID="C49"xT>Dave Ramsey</Tx/Vxl>Yes</l>

<At CID="C3"xT>Author#1 First

Name</TxCLS>Text</CLSxV CID="C50"xT>Dave</Tx/Vxl>Yes</lx/At>

<At CID="C4"xT>Author#1 Middle

lnitial</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At >

<At CID="C5"xT>Author#1 Last

Name</TxCLS>Text</CLSxV CID="C51 "><T>Ramsey</Tx/Vxl>Yes</lx/At>

</At>

<At CID="C6"xT>Author#2 Full

Name</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At> ;

<At CID="C7"xT>Author#3 Full

Name</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At>

<At CID="C8"xT>lnstitution as

Author</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At& gt;

<At CID="C9"xT>Title</TxCLS>Text</CLSxV

CID="C52"xT>The Super Red Racer</Tx/Vxl>Yes</lx/At>

<At CID="C10"><T>Subtitle</TxCLS>Text</CLSxV

CID="C53"xT>Junior Discovers Work</Tx/Vxl>Yes</lx/At>

<At

CID="C1 1 "xT>Editor</TxCLS>Text</CLSxVx/Vxl>Yes</lx /At>

<At

CID="C12"xT>Edition</TxCLS>Text</CLSxVx/Vxl>Y es</lx/At>

<At

CID="C13"xT>Volume</TxCLS>Text</CLSxVx/Vxl>Ye s</lx/At>

<At CID="C14"xT>Series

Title</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At&g t;

<At CID="C15"xT>Publication City</TxCLS>Text</CLSxV CID="C54"xT>Brentwood</Tx/Vxl>Yes</lx/At>

<At CID="C16"xT>Publisher</TxCLS>Text</CLSxV

CID="C55"xT>Lampo</Tx/Vxl>Yes</lx/At>

<At CID="C17"><T>Publication Date</TxCLS>Text</CLSxV CID="C56"><T>2012</Tx/V><l>Yes</lx/A t>

<At CID="C18"xT>Page

Number</TxCLS>Text</CLS><V></V>&l t;l>Yes</lx/At>

<At

CID="C19"xT>URL</TxCLS>Text</CLSxVx/Vxl>Ye s</lx/At>

<At

CID="C20"xT>Media</TxCLS>Text</CLSxVx/Vxl>Yes </lx/At> </AtList>

</C>

<Composition CID="C45"xT>Red Racer Book Composition</T>

<C CID="C21 "><T>Doc Structure with Scenes</T>

<At CID="C22"xT>Book Front Cover</TxCLS>Text</CLSxV CID="C57"xT>Red Racer Front Cover</Tx/Vxl>Yes</lx/At>

<At CID="C23"xT>Beginning Papers</TxCLS>Text</CLSxV CID="C58"xT>Red Racer Beginning Papers</Tx/Vxl>Yes</l>

<At CID="C24"xT>Title

Page</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At> ;

<At CID="C25"xT>Copyright

Page</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At>

<At CID="C26"xT>Dedication</TxCLS>Text</CLSxV CID="C59"xT>Red Racer Dedication Content</Tx/Vxl>Yes</lx/At>

<At

CID="C27"xT>Preface</TxCLS>Text</CLSxVx/Vxl&g t;Yes</lx/At>

<At

CID="C28"xT>Acknowledgements</TxCLS>Text</CLSxVx /Vxl>Yes</lx/At>

<At CID="C29"xT>Table of

Contents</TxCLS>Text</CLSxVx/Vxl>Yes</lx/A t>

<At CID="C30"xT>List of

lllustrations</TxCLS>Text</CLSxVx/Vxl>Yes< /lx/At>

<At CID="C31 "xT>List of

Tables</TxCLS>Text</CLSxVx/Vxl>Yes</lx/At& gt;

<At

CID="C32"xT>lntroduction</TxCLS>Text</CLSxVx/ Vxl>Yes</lx/At> </At>

<C CID="C60"> <T>Red Racer Scenes</T>

<C CID="C61 "><T>SC01 Junior wants a Red Racer

Bicycle</TxTT>pages 7-10</TTx/C>

<C CID="C62"xT>SC02 Junior asks Dad to buy the Red Racer</TxTT>pages 1 1 -13</TTx/C>

<C CID="C63"xT>SC03 Junior remembers Grandma's idea</T><TT>page 14</TTx/C>

<C CID="C64"xT>SC04 Junior looks for

work</T><TT>pages 15-16</TTx/C>

<C CID="C65"xT>SC05 Junior negotiates with

Falzetti</TxTT>pages 17-18</TTx/C>

<C CID="C66"xT>SC06 Junior gains job

skills</TxTT>See Skills below</TT>

<C CID="C67"xT>Skill: How to feed

chickens</T><TT>pages 19-20</TTx/C>

<C CID="C68"xT>Skill: How to feed

pigs</TxTT>page 21 </TTx/C>

<C CID="C69"xT>Skill: How to milk

cows</T><TT>pages 22-25</TTx/C>

</C>

<C CID="C70"xT>SC07 Falzetti approves Junior's skill levek/TxTT>page 26</TTx/C>

<C CID="C71 "><T>SC08 Junior works for

Falzetti</TxTT>page 27</TTx/C>

<C CID="C72"xT>SC09 Junior buys his own Super Red Racer</TxTT>pages 28-30</TTx/C>

<C CID="C73"xT>SC10 Dad congratulates

Junior</TxTT>page 31 </TTx/C>

<C CID="C74"xT>SC1 1 Junior sees the benefit of hard work</T><TT>page 32</TTx/C>

</C> <At CID="C35"xT>Ending Papers</TxCLS>Text</CLSxV CID="C75"xT>Red Racer Ending Papers</Tx/Vxl>Yes</l>

<At

CID="C36"xT>Appendices</TxCLS>Text</CLSxVx/Vxl&g t;Yes</lx/At>

<At

CID="C37"xT>Notes</TxCLS>Text</CLSxVx/V><l >Yes</lx/At>

<At

CID="C38"xT>Glossary</TxCLS>Text</CLSxVx/Vxl> Yes</lx/At>

<At

CID="C39"xT>Bibliography</TxCLS>Text</CLSxVx/ Vxl>Yes</lx/At>

<At

CID="C40"xT>lndex</TxCLS>Text</CLSxVx/Vxl>Yes </lx/At>

<At

CID="C41 "xT>Colophon</TxCLS>Text</CLSxVx/Vxl>Yes</ lx/At>

</At>

<At CID="C42"xT>Book Back Cover</TxCLS>Text</CLSxV CID="C76"xT>Red Racer Back Cover</Tx/Vxl>Yes</lx/At>

</C>

</Composition>

<Set CID="C46"> <T>Red Racer Ontologies</T>

<C CID="C47"xT>Dave Ramsey's Life Principles</T>

CID="C77"> <T>How to win by working</T>

<C CID="C78"> <T>Work for your own desires</Tx/C: <C CID="C79"> <T>Find a job market</Tx/C>

<C CID="C80"> <T>Gain job skills</Tx/C>

<C CID="C81 "> <T>Do the work</Tx/C>

<C CID="C82"> <T>Get Paid</Tx/C>

<C CID="C83"> <T>Be rewarded</Tx/C>

</C>

<C CID <T>How to avoid debt</Tx/C>

<C CID C85"> <T>How to spend money</Tx/C>

<C CID C86"> <T>How to save money</Tx/C> <C CID="C87"> <T>How to give money</Tx/C>

<C CID="C88"> <T>How to have integrity</Tx/C>

</C>

<Set CID="C48"xT>Dave Ramsey Publications</T>

<C CID="C89"xT>Dave Ramsey Fiction Publications</T>

<C CID="C90"xT>Junior's Adventures: The Boxed Set</T> <C CID="C43"xT>The Super Red Racer</Tx/C> <C CID="C91 "><T>A Special Thank You</Tx/C> <C CID="C92"xT>Battle of the Chores</Tx/C> <C CID="C93"xT>Careless at the Carnivak/Tx/C> <C CID="C94"xT>My Fantastic Field Trip</Tx/C> <C CID="C95"xT>The Big Birthday

Surprise</Tx/C>

</C>

<C CID="C96"xT>Financial Peace Junior</Tx/C>

</C>

<C CID="C107"xT>Dave Ramsey Nonfiction Publications</T> <C CID="C98"xT>Smart Money Smart Kids</Tx/C> <C CID="C99"xT>The Legacy Journey</Tx/C>

<C CID="C100"xT>The Total Money Makeover</Tx/C>

<C CID="C101 "xT>Dave Ramsey's Complete Guide to

Money</Tx/C>

<C CID="C102"xT>EntreLeadership</Tx/C>

<C CID="C103"xT>The Money Answer Book</Tx/C>

<C CID="C104"xT>Your Money After the Big 5-0</Tx/C>

<C CID="C105"xT>More Than Enough</Tx/C>

</C>

</Set>

</Set>

</Set> </RationalView_>

</Ontology>

</IQPIatform_Concept> <!-- This Concept ->