A fact in Pro/3 terminology is called a sentence. A sentence consists of a predicate and one or two entities (entity arguments; or in natural language terminology: subject and object). Sentences with one entity argument is called unary (subject-predicate sentence), while sentences with two entity arguments are called binary (subject-predicate-object sentence). The sentence model defines the sentence elements that can be stored in the knowledge base. Sentences are built from predicates and entity arguments. Entities are grouped into types. An entity type has a defined set of one or more data element types. Predicates are similarly grouped into predicates types. Predicate types may or may not have data element types. The number of entity arguments a predicate type can take (its cardinality) is fixed (one or two). All sentences with the same predicate type and entity arguments belong to the same sentence type, correspondingly, a sentence type is a unique combination of one predicate type and one or two entity types. All sentences (and sentence types) with the same predicate type belong to the same sentence group. Also included in the sentence model are function declarations and inexact rule declarations. These are described separately. The examples in this presentation is mainly from the Rent-a-car knowledge base.
|
|||||||||||||||
Entities and Entity Types |
|||||||||||||||
Entities are typed objects with one or more data elements. Entity types are templates for entities. Entity types are defined by a KB name, a NL name and a fixed number of data element types. An entity is defined by a reference to its type and its data element values (each data element value corresponds to the entity type's data element types. An entity must have a value for each and every data element type in the entity type definition.
Sentences are often represented in tabular form (in a table window): A form-representation is used for data entry (or to view sentences with many data elements) (in a sentence window): (This sentence-window is displayed when the [2i] row-button is pressed in the table window (over) - the 'i' indicates that the sentence has been entered (i as in input) as opposed a derived sentence ). Entity type sentences (entity type definitions) can be inputted as any other sentences e.g. as natural language texts or through a sentence window as shown above. However, Pro/3 as a set of pre designed data entry windows for all sentence model entities. These windows have the convenience of combining the the entity type definition with the related terminological definitions.
The data entry window for entity types look like: Atomic entity types are entity types with only data element. This allows for an alternative simpler NL syntax.
|
|||||||||||||||
A predicate corresponds the action or
verb element of a sentence, i.e. the actions relating to the
predicate's arguments (the object and/or subject elements of the
sentence). Arguments are entities. A Pro/3 predicate is either unary
(one entity argument - cardinality 1) or binary
(two entity arguments - cardinality 2). The predicate can
additionally have any number of data elements (or none).
The data entry window for predicate types look like: The is conditionally projected predicate type has one data element type. Its definition sentence is the predicate type with NL - name is conditionally projected, cardinality 1 and data element list scenario no is in the sentence model for segment name "rac"! |
|||||||||||||||
Data elements are basic value elements of entities and predicates such as integers, strings, dates, lists of integers, lists of strings etc. A data element type is a named set of data elements described by its KB name and its value domain. (The term data element is occasionally used instead of data element type - the correct interpretation follows from the context. The term value is sometimes used instead of data element). The following sentences (in table format) define the Rent-a-car data elements:
OUTPUT FORMAT The output format field is only applicable to some doamins:
|
|||||||||||||||
All structure entities in the KB (syntagms, synonyms, data element types, entity types, predicate types etc), that is all sentences of type is in the sentence model and is in the terminology are assigned a segment name. The segment names serve as simple categorizations (organizers) of different groups structure entities, particularly to distinguish between application structure entities and Pro/3's internal or meta entities. It is in impractical to mix up these two groups of structure entities in all but very special KBs. Pro/3's internal structure entities are assigned segment name "Pro/3", while other are assigned a segment name defined by the KE. There is no knowledge semantics attached to segment names. They strictly serve as practical tool to organize the terminology and the sentence model. Segment Context The segment context is a set of one or more segment names. Some reports and most windows dealing with structure entities are populated with entities from the segment context only i.e. structure entities in segments outside the segment contexts are not shown these reports and windows. The segment context can be changed any time (Structure-menu). Pro/3 automatically inserts a special terminology entry with both KB name, NL name and segment name equal to the name of the DB. This segment name is set as the initial segment context. |
|||||||||||||||
|