Return to the root page in the What is Pro/3? web.

Pro/3 is a system for processing knowledge, and Pro/3 deals with two main categories of knowledge - facts and rules. The purpose of this page is to look at the concept of a knowledge base more closely.
The part of an "intelligent system" which deals with knowledge representation is usually separate from the part which deals with "reasoning". The knowledge representation part is referred to as the knowledge base, while the reasoning part is referred to as the inference engine. A knowledge base (KB) is a database of knowledge, and knowledge in Pro/3 is sub-divided into facts and rules. The knowledge is stored in a format which enables the inference engine to reason with it, for the purpose of answering questions. 

CLASSIFICATION OF KNOWLEDGE BASE CONTENTS

FACTS UNARY PREDICATE FACTS
BINARY PREDICATE FACTS
RULES SENTENCE RULES SIMPLE RULES SIMPLE IMPLICATION RULES
GENERALIZATION RULES
RULES WITH LOGICAL OR
SET RULES STATISTICAL RULES
RULES CALLING CERTAINTY RULES
SELECTION RULES UNIQUE SELECTION RULES
MINIMUM SELECTION RULES
MAXIMUM SELECTION RULES
INTERPOLATION RULES NUMERIC INTERPOLATION RULES
DATE INTERPOLATION RULES
RANKING RULES
CORRELATION RULES
ACCUMULATION RULES
FUNCTIONS DETERMINISTIC FUNCTIONS
NON-DETERMINISTIC FUNCTIONS
RULES FOR INEXACT REASONING CERTAINTY RULES AND-RULES
OR-RULES
NOT-RULES
BAYESIAN RULES
COMBINATION RULES
FUZZY SETS INTERSECTIONS
UNIONS
COMPLEMENTS
ORDERED WEIGHTED AVERAGING
SUPPORT RULES MAP RULES
PARAMETER RULES
SWITCH RULES CALL-TYPE SWITCH RULE
PARAMETER-TYPE SWITCH RULE
DATA RULES QUERY RULES
QUESTION RULES
The green classifications are stored in a format which can be interpreted by a PROLOG-type inference engine directly. The pink classifications are using a similar format - superficially, but the interpretation of the knowledge either uses extensive add-ons to the basic inference logic (which is the case for set-rules), or a different inference engine (which is the case for inexact rules). (The basic inference engine, the add-ons and the inexact rule inference engine are all integrated into one overall inference system).
 

RECORD

The basic storage unit on a technical level is a record. One "piece of knowledge" (one fact, one rule) is stored in one record. However, there are a few exceptions:

  • Sentence rules with logical OR exists only as a concept on the input/source level. In the KB, the rule is stored in one record per OR-branch. The same goes for generalization rules which is a special case of an OR-rule.
  • Sentence rules with unspecified (open) entity types are stored in one record in the KB, however when interpreted by the inference engine it is reformatted into one or more records which are separately stored in the KB.
  • Functions with two or more function definitions are stored as two or more records. 

The record-structure is the same for all types of records.

 

META DATA

The knowledge base includes different aspects of knowledge, that is, both meta-data (which describes other knowledge), as well as "application" knowledge being described by the meta-data. There is no physical segregation between these two types of knowledge, i.e. exactly the same representation structures are used. The term meta data is usually used (rather than meta knowledge). This is not a particularly important distinction, but note that meta-knowledge only includes factual knowledge (there are no meta-rules!).

Knowledge which is not meta-knowledge is usually referred to as application knowledge. There are actually three levels of knowledge according to this structure: application knowledge, the application meta-model and at the bottom Pro/3's own built-in meta model. Application meta model data is often referred to as structure knowledge since it defines the structure of the application knowledge.

Example

1. Application knowledge

manufacturer with name Aprilia makes bike with model "Caponord"! 

2. Application meta knowledge

entity type with NL - name manufacturer and data element list name is in the sentence model with segment name "MC"! 
entity type with NL - name bike and data element list model is in the sentence model with segment name "MC"! 
predicate type with NL - name makes, cardinality 2 and no data element list is in the sentence model with segment name "MC"! 
data element type with NL - name name, domain name IDENTIFIER, output - format "" and output - width 24 is in the sentence model with segment name "MC"! 
data element type with NL - name model, domain name STRING, output - format "" and output - width 20 is in the sentence model with segment name "MC"! 

3. Pro/3 meta model

entity type with NL - name entity type and data element list NL - name and data element list is in the sentence model with segment name "Pro/3"! 
entity type with NL - name predicate type and data element list NL - name, cardinality and data element list is in the sentence model with segment name "Pro/3"! 
entity type with NL - name data element type and data element list NL - name, domain name, output - format and output - width is in the sentence model with segment name "Pro/3"! 

The inclusion of the meta model level in the KB might seem a little bit over the top, it has the advantage that queries and reporting of meta data can be carried out with exactly the same facilities as is used for application data. The meta model is loaded from the standard knowledge file PRO3-B-META.3PR. While the inclusion of the meta model as factual knowledge in the KB suggests that it can be modified to meet special requirements, then this is not so. The Pro/3 meta model must not be changed as its structure also is built into to the system logic. 
 

TERMINOLOGY

The KB also includes another set of meta data - the terminology. The terminology is a mapping between natural language names and internal format names

META MODEL TERMINOLOGY SENTENCE MODEL SYSTEM TERMINOLOGY
APPLICATION TERMINOLOGY
SYSTEM ADMINISTRATION SENTENCE MODEL DEPENDENCY GRAPHS
CHAIN ACCESS DEFINITIONS
TIMING SENTENCES
OTHER SYSTEM ADMINISTRATION SENTENCES
GENERAL UTILITIES SENTENCE MODEL STANDARD UTILITIES ANNOTATIONS
QUERIES
QUERY MENUS
BUILT-IN FUNCTION DECLARATIONS
STANDARD FUNCTION DECLARATIONS
APPLICATION UTILITIES ANNOTATIONS
QUERIES
QUERY MENUS
APPLICATION  SENTENCE MODEL
The blue classifications are under Pro/3's administration, while the pink classifications are under the KE's administration. A terminology consists of syntagms and synonyms, while a sentence model consists of predicate types, entity types, data element types and function declarations.

Digging deeper into the knowledge base...

Database Internal Structure - Multi-KB configurations  - Queries and Query Menus - Annotations  - NL Interface  -  Knowledge Integrity  -  Internal Format Syntax