Method for modeling, storing and transferring data in neutral form6393426Abstract The present invention simplifies the data modeling process and enables its full dynamic versioning by employing a non-hierarchical non-integrated structure to the organization of information. This is achieved by expressing data modeling, storage and transfer in a particular non-hierarchical, non-integrated neutral form. The neutral form of the present invention enables complete parallel processing of both data storage and data transfer operations. It also enables the direct integration of separate but related data models and their data without remodeling or reloading. Finally, the present invention enables direct transfer of neutral form information in a manner that includes all of the properties required to independently understand and interpret each transferred data value. Claims We claim: Description BACKGROUND OF INVENTION
Term Meaning
Alias One dictionary entry that is equivalent to another.
Association A name that is closely associated with a dictionary
entry name.
Author User of the method of the present invention
who creates entries in the dictionary system.
Author ID Identification number unique to the world of users
of the method of the present invention which insures
discrimination of authors in all data transfers
between two parties.
Cluster Non-hierarchical collection of data reference nodes
which define an instance segment.
Cluster - Associated An autonomous cluster that has been formed from a
comprehensive initial cluster.
Cluster - Compre- Single cluster formed during the initial creation of
hensive Initial the data model for a set of information which con-
tains all of the known data references associated
with that set of information.
Cluster - Group A heading within a cluster which groups, e.g.,
logically, a collection of data references.
Cluster - Instance An occurrence of the data items for a cluster
Cluster - Nested Cluster inserted into another cluster in a one-to-one
relationship such that
the collection of instance data sets of the nested
cluster are accessible from within the other cluster;
and
one and only one of the nested instance data sets is
selected to function as a part of the instance data
set of the other cluster.
Cluster - Node One data reference in a collection comprising a
cluster.
Cluster - Sub-cluster Collection of data references in a cluster which are
to appear together in a data input form.
Cluster - Subgroup A subheading within a cluster which groups, e.g.,
logically, a collection of data references under
a cluster group heading.
Data One or more data values or data items
Data Instance Node A node on an instance cluster corresponding to one
data value in an instance data set.
Data Item One data value in a set of information
Data Organization Combination of the cluster instance structure and
the cluster instance data set properties associated
with any data value.
Data Organization The set of data references and data values for one
Instance Data Set cluster instance data set.
Data Organization The collection of data references and properties
Structure comprising a cluster to which a data item belongs.
Data Reference Name, description and definition of certain
properties of a data value
Data Reference - Descriptive name for a data reference
Name
Data Reference Discriminator of the context within which a data
- Schem reference name is to be applied.
Data Reference Set A subset of data references in a cluster whose sets
Prime or Distinct of data values are prime/distinct data value sets.
Data Reference Set The prime/distinct data reference set in a cluster
- Basi Prime/ whose data values are basis prime/distinct data value
Distinct sets.
Data Reference Set Any prime/distinct data reference set in a cluster can
Prime/Distinct to be expressed as the basis prime/distinct data ref-
Basis Prime/Distinct erence set by removing those data references from
Conversio the cluster that have a high granularity relative to
the new basis prime or distinct data reference set.
Data Reference Set- Data references comprising a subset of the data ref-
Subordinate erences in the universe of an instance., i.e., the data
references for one segment of the universe of an
instance.
Data Type Physical form property of a data value, e.g.,
numeric, alphanumeric, photo, drawing, sound,
video, time series, geo-spatial, etc.
Data Value One instance of a data reference.
Basis Prime/Distinct A.sub.i = Subset, {p.sub.i . . . p.sub.n }A.sub.i, of
each Instance Segment
(P/D Data Value Set whose values define a unique set, {p.sub.i . . .
p.sub.n }A, in
U.sub.A
Basis Prime Data A basis P/D data value set for UI.sub.Ai which resides
Value Set in only one universe of an instance UI.sub.Ai of universe
U.sub.A.
Basis Distinct Data a basis P/D data value set for UI.sub.Ai which can
reside
Value Set in more than one universe of an instance UI.sub.Aj of
universe U.sub.A.
Prime/Distinct (P/D) A basis P/D data value set for an Instance Segment
Dat Value Set of UI.sub.Bi which resides in an Instance Segment of
UI.sub.Ai
Dictionary - Condi- Entries made into the dictionary system of an envi-
tional Entries ronment during the modeling of an instance, which
entries have not been reconciled with existing
dictionary entries.
Dictionary - Envi- Collection of dictionaries which list and define all
ronmen System of the properties of the structural tags that mark
instance data sets stored in an environment.
Domain Collection of one or more clusters.
Dynamic Link Union of two or more instance segments of the
same or different universes for the expression of
relationships between query specified x.sub.i 's from two
different but related instance segments where any
P/D data value sets in common between the instance
segments match.
Environment The collection of those different universes, U.sub.A,
whose instance data sets are recorded in neutral
form which is defined by a single consistent dic-
tionary system.
Event An instance.
Glossary Collection of properties for entries in a dictionary.
Granularity The relative level of specificity reflected in one or
a set of data references as it relates to another data
reference (not to itself) or set of data references.
For example: social security number has a high
specificity while a date/time stamp has a low
specificity; Last name has a high granularity relative
to zip code.
Granularity - Ratio of the granularity of one data reference (or set
Relative of data references) to another.
Granularity - Relative granularity of greater than one.
Relative High
Granularity - Relative granularity equal to or less than one.
Relative Low
Inputting Entry of a single sub-cluster of data items or a
complete cluster instance data set into neutral form.
Instance - An An occurrence of a collection of related data values,
all expressed on the same time basis.
Instance Data Set Set of data values for one occurrence of an instance
segment.
Instance Segment Unique subset of UI.sub.Ai data values, {x.sub.i . . .
x.sub.n }.sub.Ai,
spanning a single event or instance i within which
is contained a basis P/D data value set.
Instance Segment A subset of an Instance Segment of UI.sub.Ai which
Nested constitutes an Instance Segment of UI.sub.Bi.
Instance Structure Collection of data references comprising an instance
segment.
Kid Identifier for a data reference name
Lid Identifier for author of an element of a model.
Loading Multiple sets of inputting performed in bulk.
Model One cluster or two or more non-integrated but
dynamically linked clusters which define the rela-
tionships and properties of a set of information.
Neutral Form Data values for an instance data set, each marked
with a structural tag.
Node One data reference in a collection that comprises a
cluster.
Node ID Identifier for a node in a cluster, e.g., the combina-
tion of Kid, Sid, Lid.
Primary The preferred one among a collection of aliases of
data reference names or schema names.
Properties Characteristics of a piece of data, a group of data,
or a structure of a group of data, e.g., name, ID,
definition, units, etc.
Reconciliation - Dat Process for evaluating new data values as (a) being
Values the same as; (b) being equivalent to; or (c) being
different from one of the discrete data values already
in the environment for a particular data reference.
Reconciliation - Dat Process of determining whether or not one data
References reference is an alias of another.
Reconciliation - Process for evaluating dictionary entries external
Dictionary to an environment as (a) matching with, or (b) being
equivalent to, or (c) being uniquely different from
an existing entry in an environment system
dictionary.
Schema See "Data Reference - Schema"
Set of Information Collection of data values comprising one or more
occurrences of an instance segment together with
sufficient properties of those data values to enable
their understanding, interpretation and assignment
to discrete instance data sets with an arbitrary but
definable pattern to the ordering of the data values
in each instance data set.
Sid Identifier for data reference schema name
Structural Tag Three generalized attributes of a data value, viz.,
type, name, and organization, whose definition and
properties completely and unambiguously define a
data value within a cluster instance.
Synonym A name that has the same meaning as that of a
dictionary entry name.
Time Basis Frame of reference of time for either an instance
segment or an individual data reference in an in-
stance segment where null time is treated as "event".
Transfer Form Combination of one or more instance data sets and
their supporting dictionary information, all written
in neutral form and combined.
Transfer Form - One or more Instance data sets written in neutral
Data form.
Transfer Form - Dictionary entries employed by one or more in-
Dictionaries stance data sets written in neutral form.
Union - Different All of the data values in two or more instance seg-
Universes ments are directly related to each other where their
basis P/D data value sets are the same.
Union - Same Union of (a) same universe instance segments UI.sub.B1
Universes and UI.sub.B2 and (b) a different universe instance seg-
ment UI.sub.A1 into which instance segment of U.sub.B1 or
UI.sub.B2 is nested where an x.sub.i in the query
specification
resides exclusively in the instance segment of UI.sub.A1.
Universe of A Universe, U.sub.A, of all events of A expressed on the
same time basis, e.g., where A - Social Security
Number or A = Reactor Name, expressed as
instances.
Universe of an Universe of all events of A expressed on the same
Instance o A time basis, e.g., where A = Social Security Number
or Reactor Name, expressed as instances.
Version Designator which allows for the discrimination of
an existing cluster which has had one or more
instance data nodes added or removed.
3.0 Basic Ideas and Methodology Modeling and storing data in a non-hierarchical, non-integrated way according to the present invention involves three interrelated elements: (a) a particular definition and functionality of an instance of data items; (b) a neutral form for the expression of an instance of data items; and (c) a universal form for data item typing, applicable to both instance and related dictionary data items. While the prior art necessarily must define and model the universe of an instance, the present invention enables the separate modeling of the typically much smaller individual instance segments that comprise that universe. The present invention further simplifies the modeling process and enables its full dynamic versioning by employing a non-hierarchical, non-integrated structure to the organization of information comprising an instance segment. By expressing modeling and storage in a non-hierarchical, non-integrated neutral form, the present invention enables complete parallel processing for both the storage and the retrieval of instance segments of data. It also enables the direct integration of separate instance segment models and data to produce the equivalent instance universe model and data without remodeling or reloading of individual instance segments. Finally, the present invention enables direct transfer of neutral form information in a manner that includes all of the properties required to independently understand and interpret each data value. 3.1 Instance Segments and Their Additive Nature within an Instance Universe The universe of an instance contains that subset of all possible data references in the world that are related to each other and to the specific subject matter of that instance on a consistent time basis. As shown in FIG. 3, the data references that make up the universe of an instance can be conceptually visualized and represented as nodes along a line which describes the collection of the related subject matter for the universe of the instance. Furthermore, one ore more of the data references in the universe of an instance must form a defining basis for the instance. Such a set of data references is referred to as a basis prime or basis distinct data reference set and is represented in FIG. 3 as a circle formed by that group's nodes along the line of data references comprising the universe of the instance. The level of specificity, referred to in this invention as the granularity, of individual data references in the universe of an instance must not exceed the granularity of the basis prime or distinct data reference set. As shown in FIG. 3, in the limit all of the data references comprising the universe of the instance may be employed to define the basis distinct or prime data reference set. Arbitrarily assigning a unique numerical count to the individual instances of an instance segment represents the most common expression of this form of basis. In the present invention, the collection of data references comprising the universe of an instance, including its basis data reference set, constitutes a cluster. The universe of an instance of A shown schematically in FIG. 4 as a single homogeneous collection of related data references can also be described as a series of instance segments, each containing the same basis prime or distinct data reference set and a certain subordinate data reference set formed from the set of data references that comprise the total universe of the instance of A. In the present invention, each instance segment constitutes a cluster. In such a representation, the universe of an instance corresponds to the sum of the data references present in each of the instance segments, i.e., clusters, that have the same basis prime or distinct data reference set, for those instance data sets of each such instance segment or cluster, where the instance data values of the basis data reference set in each such cluster also match. The linking together of such clusters to form a pool of related data references and instance data sets is referred to in the present invention as dynamic linking. To be validly dynamically linked, two such clusters must also have matching instance data sets for any prime or distinct data reference sets they share in common. As summarized in the left portion of FIG. 5, dynamic linking occurs at the data reference level between any two instance segments or clusters, of the same universe of an instance. Two instance segments or clusters, are recognized as being from the same universe of an instance by the presence of the same basis prime/distinct data reference set. Actual dynamic linking occurs in such cases for those instance data sets where the instance values of the basis prime or distinct data set in each instance segment and any prime/distinct data sets in common are also the same. Where the linking is between matching basis prime data reference sets, a one-to-one relationship occurs between the two clusters. Where the linking is between a basis prime data reference set and its matching basis distinct data reference set, a one-to-many relationship occurs. Where the linking is between matching basis distinct data reference sets, a many-to-many relationship occurs. 3.2 Relationships Between Instance Segments from Different Instance Universes As shown to the right as Case 1 of FIG. 5, instance segments can contain any number of prime or distinct data reference sets. In such cases, each of these prime or distinct data reference sets is available to dynamically link with a matching prime or distinct data reference set in another instance segment, whether or not it is functioning there as a basis prime or distinct data reference set. In forming a dynamic link involving a prime or distinct data reference set, one must determine which of the data references from the two instance segments are to be incorporated into the dynamic link. All of the data references participate in the link if they come from an instance segment where the linking prime or distinct data reference set serves as that instance segment's basis prime or distinct data set (see left hand side of FIG. 5). However, this is not necessarily the case where the linking prime or distinct data reference set is not the basis set for the linked instance segment. The appropriate data references from such an instance segment to be included in the dynamic link are only those that are part of the universe of the instance defined by treating the linking prime or distinct data reference set as the basis set. If the specificity, referred to in this invention as the granularity, of such a basis data set is lower than that of the basis data reference set for the linked instance segment, the universe of the new instance will not include certain of the data references that are present in the original universe of the instance of the instance segment. This circumstance is illustrated in Case 1 of FIG. 5. Only those data references that have a granularity equal to or lower than that of the non-basis prime or distinct data reference set will be included in the pool of data references formed by the dynamic link through a non-basis data reference set. Case 2 in FIG. 5 represents the special case in which one instance segment (of universe B) is nested within another instance segment (of universe A). The nested instance segment (of universe B) is serving as the dynamic link to another instance segment of the same universe). However, in this case, the data references and corresponding data values to be related through dynamic linking at the instance level also include one or more coming exclusively from the instance segment (of universe A) to which the linking instance segment (of universe B) is nested. In such a case, and if there is an instance data set match between segment 1 of the universe of A and segment 2 of the universe of B, the dynamic link extends across the whole of segments 1 & 2 of the universe of A and segment 2 of the universe of B. Taken as a whole, FIG. 5 shows: (a) that all of the data references from two instance segments of the same instance universe are dynamically linked and (b) that any portion of the data references from two different universes of an instance which participate and match at the instance data set level in both instance universes are also are dynamically linked. Thus dynamic linking can propagate extensively across a collection of instance segments involving more than one instance universe. One skilled in the art will recognize a variety of methods for determining which data references from an existing instance segment of one universe to include in the instance universe defined by a non-basis prime or distinct set present in that existing instance segment. One method discovered and presently preferred by the inventors involves characterizing the granularity of individual data references relative to each prime or distinct data set in an instance segment. Those data references in an existing instance segment having a low granularity relative to a prime or distinct data reference set then form an instance segment of the universe of the instance defined by that data reference set acting as a basis data reference set. Since the relative granularities of a data reference can be specified during the modeling of an instance segment, allocation of data references to dynamic links where non-basis prime or distinct data reference sets are involved can be automated. 3.3 Neutral Form Expression of an Instance Data Set In the method of the present invention, sets of instance data items are expressed in a neutral form. As shown in FIG. 6, the particular neutral form of the present invention is achieved by assigning to each data item in an instance segment a generalized structural tag. Such a generalized structural tag is designed to capture all pertinent properties necessary to understand and interpret the data item either in relation to a specific collection of other data items in an instance data set or in relation to the data items in all other instance data sets. The scale on which the structural tag is designed sets the minimum aggregation of data that functions autonomously and can therefore be handled by parallel processors for either the storage or the retrieval of neutral form information. Independence in the neutral form can be established at the data item level within an instance data set. Independence in the neutral form can also be established at the level of an instance data set and is the the method described here. Thus, in the implementation of the invention described herein, the cluster instance is the minimum block of information that is handled autonomously by a single processor in a parallel processor configuration for either the storage in or the retrieval and transfer of data from a neutral form file. With the present invention, the generalized structural tag having these requisites is composed of three elements: (1) a data type which specifies the physical form of the data item; (2) a data reference which specifies the properties of the data item; and (3) a data organization which specifies a combination of the set of instance data items of which a data item is a part and the set of data references to which these data items correspond. As shown in FIG. 7, the data organization element of the generalized tag represents a combination of the generic organizational characteristics of a data item (cluster composed of a collection of data references) and the instance data set specific data organization characteristics of a data item (set of data values for the instance data set represented by the data item). Thus, in a typical implementation of the invention, the neutral form for a data item is composed of three generic characteristics and two specific characteristics. The generic characteristics of the neutral form are: (1) data type; (2) data reference; and (3) data structure. The specific characteristics of the neutral form are: (1) data instance set; and (2) data item. Characteristics of the structural tag must be defined for each data value in each instance data set that makes up a set of information. Furthermore, all of the pertinent properties of the data value that are required to understand and interpret the data value must be identified and assigned to one of the characteristics of the structural tag. This bookkeeping can be achieved through the creation of a dictionary system or some other equivalent form of filing system that can identify and keep track of structural tag information. FIG. 8 illustrates this accounting for the names, meanings and pertinent properties of selected structural tag characteristics for the neutral form expression of one data item. The example cited involves a single temperature data value for a heat exchanger, which is part of one instance data set occurring at 8:05 a.m. on Mar. 27, 1994 in a set of information for a polyethylene reactor system. Four distinct dictionaries are shown in this example, one for each of the following structural tag characteristics: data type, data reference, instance structure, and instance data set. For example, the name assigned to the data reference is "heat exchanger temperature". Its properties are: units of "degrees Fahrenheit", upper limit 250, lower limit 50. This collection of dictionary information permits complete discrimination of a data value from all other data values in a neutral form file as well as its complete understanding and interpretation. 3.4 Universal Typing of Instance and Dictionary Data Items Data transfer according to the present invention involves the transfer of both instance data sets in neutral form and the dictionary data items required to understand and interpret completely the structural tags present in those neutral form instance data sets. The present invention accomplishes the transfer of dictionary data items using the same neutral form as is employed for the storage and transfer of instance data sets. Although not required, it is preferable to accomplish this transfer of dictionary data items simultaneously and in the same file as that which contains the neutral form instance data set records that are being transferred. This is made possible by employing the universal data typing shown in FIG. 9. The absolute size of the numbering system shown depends upon the choice of the number of bytes to be employed in specifying data types. Although other sizes are possible, two bytes in most cases are adequate, giving a total numbering system of approximately 32,000 values in each of the positive and negative sides of the system. While the allocation and sizing of segments of the system to dictionary and instance data items are arbitrary, dictionary and instance data set segments must be distinct and non-overlapping: The data type also carries with it the specification of the length of the data item, either directly or by implication of fixed length. In this regard, it is normally convenient to assign the positive values of the data type to the alphanumeric form of instance data items, with the value of the data type corresponding to the number of characters in the data item. However, it should be understood that other schemes are possible. 4.0 Summary of Preferred Embodiment One skilled in the art will appreciate that preferred embodiments of the method of the present invention may take on many different forms depending on the particular application intended. In light of this, the preferred embodiment presented here has been designed primarily to teach many of the important aspects and implications of the method of the present invention in a context which can be readily learned. Once taught the method, one skilled in the art will appreciate many alternative and preferred means for implementing individual aspects of it, depending upon their specific purpose. The preferred embodiment of the method of the present invention involves the structuring and storage of instance data sets consisting of different sets of information in neutral form in a single file, i.e., environment, such that: (a) instance data sets from different instance segments of one or many different universes of an instance dynamically link to one another and are retrievable together without direct knowledge of each other's presence in the environment; and (b) instance data sets, once retrieved, are transferred together with all dictionary data items required to understand and interpret them completely, all in a single neutral form transfer file. The prior art technology must anticipate the broadest possible scope of use of a database model in advance and then model that scope, in effect attempting to define in advance the complete universe of the instance to be modeled. By contrast, the method of the present invention achieving the ultimate database objective in increments that are natural to the user. The user merely models individual instance segments of the ultimate intended scope of use of the database as they become known. Individual instance segments of the same universe of an instance dynamically relate as soon as they have been created and reconciled to the same dictionary system and exist in the same neutral form file. The result is the equivalent of a single model of the combined instance segments. Thus the universal instance that must be anticipated completely and up front in the prior art technology, evolves in more modest instance segment models as the segments become known, understood and modeled. Also in contrast to the prior art, modeled instance segments in the method of the present invention can undergo versioning as conditions and needs change without loss of continuity with data stored in an earlier version of a model. This makes the composite of a set of instance segment models and neutral data intrinsically responsive to the continually evolving needs of the user. FIG. 10 summarizes this preferred embodiment. A set of information as schematically indicated at 100 contains one or more collections of instance information in the form of one or more sets of related data items (or a listing of data references if the data items have not yet been collected) complete with basis data sets and information about the related data items. Data modeling indicated at 200 is then performed on these sets of information: (a) to define the structure of the instance or instances involved; (b) to create conditional dictionary data items for each instance; (c) to make any changes; and (d) to incorporate individual instance structures and conditional dictionary data items into an environment. Thereafter, as indicated at 300, data storage and retrieval is performed on the modeled sets of information by: (a) defining connections between instance data items and instance structures; (b) assigning neutral form structural tags and storing tagged data items as instance data sets; (c) editing stored data items as needed; and (d) forming a query specification and retrieving complying instance data sets. Data transfer as shown at 400 is then performed on retrieved data instance sets by: (a) expressing related dictionary data items in neutral form; and (b) transferring neutral form instance data sets and dictionary data items into a common neutral form file. 5.0 Data Modeling Further detail on the data modeling component 200 of the preferred embodiment of the present invention is provided in FIG. 11. As there shown, data modeling 200 is comprised of defining the structure of an instance at 220, creating conditional dictionary data items as indicated at 240, making changes as needed, indicated generally as 260, and incorporating conditional dictionary data items into an environment, illustrated at 280. 5.1 Defining the Structure of an Instance The general process 220 of defining the structure of an instance (FIG. 11) involves the four steps outlined in FIG. 12. 5.1.1 Data Preparation: Grouping & Sorting of Data Items Data preparation 221 involves four basic elements. First, the target sets of data are divided into one or more instance universes. The remaining three elements are then performed separately on the data from each instance universe that may exist in the data sets. Second, the time basis for the instance universe is determined and set. Examples of time basis include: event (lack of a specific time), minute, hour, day, week, month, quarter, year, etc. Two instance segments cannot be of the same universe of an instance unless their time bases are the same or one of them is event time. Instances from two different instance universes cannot be dynamically linked unless they are of the same time basis or one of them is event time. Third, the set of individual data items that separately comprise each instance data set are identified. Although not a requirement, it is desirable to deal only with real data items rather than with abstracts of data items. Fourth, the arbitrary but consistent ordering of these individual data items as they exist in each set of information 100 is determined. 5.1.2 Formulation of Comprehensive Initial Instance Cluster After data preparation step 221, the model for each identified instance universe is generated in the form of a single cluster formed at step 222. The single cluster is herein referred to as the comprehensive initial cluster, which is comprised of the data items present in an instance data set taken from one set of information. This comprehensive initial cluster is comprised of a non-hierarchical collection of nodes, one node for each data item that comprises the instance. It is a single cluster because the instance it depicts is one instance segment of the universe of that instance such as instance segment la of FIG. 4. The cluster is assigned a unique name and each node in the named cluster is assigned a data reference name. An individual data reference can be employed only once in any one data model. Both the meanings and the respective properties of the cluster name and its respective data references are defined and stored in the dictionary system at step 240. As shown in FIG. 13, nodes in a cluster constitute a list of data references which can be organized into logical named groups and subgroups in much the same fashion as a document can be outlined. Such organization is not to be construed as any form of hierarchical ordering of the contents of a cluster for the purposes of either storage or retrieval and transfer. Such organization is defined by the user merely to ease understanding and interpretation in display and to facilitate data inputting. In the case where modeling occurs before data collection has occurred, the process of cluster formation and organization can be iterative. As the total number and organization of a set of data references evolves, additional data references can be created to complete the definition of a logical set. Existing data references can be moved freely from one group to another until the preferred logical groupings have been realized and achieved. As groups and subgroups are formed, they are named and their meanings and any pertinent properties are defined and stored in the dictionary system generally indicated at 240. One or more prime or distinct data reference sets 222 must be defined and one must be declared the basis prime or distinct data reference set in order to validate the data references defined for the cluster. No data reference in the cluster can have a specificity, i.e., granularity, greater than the granularity of basis prime or distinct data reference set. Any data reference with granularity higher than that of the basis data reference set must be removed from the cluster and placed in another cluster whose basis prime or distinct data reference is appropriate to it. Both the basis and "non-basis" prime or distinct data reference sets are recorded and stored in the dictionary system 240. 5.1.3 Redistribution into Associated Clusters The initial cluster can be redistributed into associated clusters as shown by 223 as necessary to account for any one-to-many or many to many relationships that are found to exist or any one-to-one relationships, respectively, that the user desires to split out from the initial cluster. It is to be noted that redistribution of the initial comprehensive cluster into associated clusters is an optional feature, not a requisite feature of the present invention. However, in the case of one-to-many and many to many relationships, it does provide a technique for reducing repetitive loading of selected data items between certain instance data sets of the initial cluster. In the case of one-to-one relationships, it provides a technique for completely isolating the inputting of a certain portion of the nodes in the initial cluster. This could be desirable if, for example, the data from this collection of nodes was to be shared with more than one cluster in the environment. Where appropriate, further associated clusters can be formed from an associate cluster by repeating Step 223 (FIG. 12). In each such case, one or more additional data references must be copied from the parent associated cluster to account for the source of the duplication being addressed. The process of Step 223 (FIG. 12) as applied to a one-to-many relationship involves first selecting a group(s) or subgroup(s) of nodes that constitute the many side of a one-to-many relationship in the comprehensive initial cluster. Then this collection of nodes is transferred to a new cluster. To achieve dynamic linking, the basis distinct data reference set from the comprehensive initial cluster is then chosen and copied into the new cluster, where it registered as the basis distinct data reference set for the new cluster. Finally, the new cluster is uniquely named and any appropriate properties are defined and entered into the structural tag dictionary system. The process can be repeated as desired for any further one-to-many relationships present in either the comprehensive initial cluster or any associated cluster that may have been formed. The process of Step 223 (FIG. 12) as applied to a one-to-one relationship involves first selecting a group(s) or subgroup(s) of nodes that constitute a one side of a one-to-one relationship in the comprehensive initial cluster that either exists already in a cluster of another instance structure and is to be shared here or will form a cluster that is to be shared with other clusters in either the present or other instance structures. Then this collection of nodes is transferred to a new cluster. To achieve dynamic linking, the basis prime data reference set from the comprehensive initial cluster is then chosen and copied into the new cluster, where it is marked as the basis prime data reference set in the new cluster. Finally, the new cluster is uniquely named and any appropriate properties are defined and entered into the structural tag dictionary system. The process can be repeated as desired for any further one-to-one relationships present in either the comprehensive initial cluster or any associated cluster that may have been formed. The process of Step 223 (FIG. 12) as applied to a many-to-many relationship involves first selecting a group(s) or subgroup(s) of nodes that constitute the secondary many side of a many-to-many relationship in the comprehensive initial cluster. Then this collection of nodes is transferred to a new cluster. To achieve dynamic linking, the basis distinct data reference set from the comprehensive initial cluster is then chosen and copied into the new cluster. This set is then augmented by choosing and copying the data reference or set of data references that distinguishes one instance from among the many in the parent cluster. The resulting collection of data references is assigned as the basis distinct data reference set for the new many cluster. Finally, the new cluster is uniquely named and any appropriate properties are defined and entered into the structural tag dictionary system. The process can be repeated as desired for any further many-to-many relationships present in either the comprehensive initial cluster or any associated cluster that may have been formed. Since the associated clusters resulting from a redistribution are necessarily segments of the same instance universe, they must be by definition dynamically linked. FIG. 14 illustrates the mechanics involved in a dynamic link between two associated clusters. FIG. 15 illustrates the mechanics involved in the dynamic links for the one-to-many, one-to-one and many-to-many relationships. FIG. 15 also illustrates the mechanics for one optional variation of the one-to-one relationship that is possible. Labeled as a "nested" cluster, this form of dynamic linking establishes the "nested" cluster as a lookup listing within the dynamically linked cluster. Here, the user could have the option to designate which data references in the "nested" cluster were desired to be seen when looking at it from within the dynamically linked cluster. During data entry in the dynamically linked cluster, the user could see the existing instance data sets in the "nested" cluster and select one to apply for a particular cluster instance. Alternatively, they could enter a new instance data set into the "nested" cluster and select that nested instance data set to apply for the particular cluster instance. More than one nesting of the same cluster in a model is allowed, so long as the interpretation of the nested data references and their data values is modified differently in each case. For example, a cluster containing the master listing of employees might be nested twice into another cluster, once for the designation of a secretary and once for the designation of a supervisor. 5.1.4 Creation of Sub-Clusters Sub-clustering as shown in step 224 (FIG. 12) provides for allocation of the input of data items representing an individual cluster instance into more than a single form. In the absence of sub-clustering, all data items in a cluster are inputted at the same time. The step 224 of forming sub-clusters involves first dividing up the nodes in a cluster into two or more sub-clusters and assigning them separate sub-cluster names. The basis prime or distinct data reference set from the cluster is then assigned to each sub-cluster. The basis prime or distinct data reference set will appear on the input screen of each sub-cluster to dynamically link the instance data values entered in that input screen to the same instance data set that is dynamically linked to the inputs for the other sub-clusters in that cluster. 5.2 Creating Conditional Dictionary Data Items As shown in FIG. 16, modeling of the structure of an instance requires two sets of dictionaries: (a) dictionaries to define and record structural tag information generally indicated at 241; and (b) dictionaries to define and record the relationship of an instance structure to its environment generally indicated at 250. An environment can contain many sets of information, each expressed in neutral form. Environment dictionaries, viz., model and domain, store the terms and meanings required to organize these different sets of information. 5.2.1 Data Type Dictionary As has been previously noted, 2 byte data typing generally provides an adequate range of values for the typing of instance and dictionary data items. FIG. 17 shows one preferred and unambiguous allocation of segments of the 2 byte data typing range for a portion of the known data types. If a particular application demands more range than is provided here, one can simply switch to 4 byte data typing. As shown in FIG. 18, the data type dictionary formed as indicated at 242 merely records the specific data types by their numbers and their meanings, respectively. The method of the present invention has no known limits regarding the data types that can be processed in neutral form, including objects and objects containing executables. As is illustrated in FIG. 17, any presently known data type can be accounted for directly in the system. Slots can be created to preserve room for as yet unknown data types to allow for future expansion. 5.2.2 Data Reference Dictionary As shown in FIG. 19, the data reference dictionary process in step 243 (FIG. 16) is comprised of two entities, forming the dictionary itself as shown at 243 and forming the associated portion of a glossary as indicated at 244a. The name and identification number for a data reference is stored in the dictionary. Its definition and other properties are recorded in the glossary. While not required for the operation of the method of the present invention, the name may be comprised of any number of characteristics. A preferred form includes 3 characteristics: a simple name, a schema name, an author name, and a respective set of corresponding identification numbers. A schema name and identification number provides context for the simple name, while author name and identification number indicate who created the data reference. In small, single user environments, the single characteristic of simple name and its identification number may be adequate. In large environments involving many users and where significant sharing occurs between environments, these additional characteristics of author name and identification number and schema name and identification number allow for useful detailed discrimination of data references. So long as the identification number for the authoring characteristic is unique to all environments, then the identification numbers for the other characteristics need only be unique within the user's own environment, viz., the neutral form file within which he is storing his particular neutral form data. While not required in a number of cases, provision is preferably made for recognizing and recording aliases of individual characteristics of a particular data reference, notably simple name and schema name. One named data reference characteristic is an alias of another if the definitions and properties of the two are equivalent. In such case, the entry-typing for an alias dictionary record simply designates it as an alias. Each such dictionary entry then includes a pointer to the dictionary record containing the primary of that characteristic and to an additional record of another alias if such exists, thus enabling one to see the collection of aliases as a set and to distinguish one of them as primary. The preferred embodiment also includes provisions for recognizing and recording one or more synonyms and/or associations, where appropriate, for a characteristic comprising an individual data reference. Again, as with alias recognition, this is not mandatory. One simple name or schema name is a synonym of another if they have equivalent meanings. A name is an association for a simple name or schema name, respectively, if it connotes the same meaning. Collections of synonyms and associations for a data reference can greatly facilitate its location in the dictionary for purposes of dictionary reconciliation (referenced in FIGS. 25 and 26 and to be discussed below). Any desired property of a data reference can be defined and stored in the glossary of the data reference dictionary. Properties such as those shown at 244a in FIG. 19 may be particularly useful. Of course, the actual entries for a particular application will vary. Where a particular property is cluster dependent, that dependency can be accounted for by inclusion of the pertinent cluster identification number with the record. 5.2.3 Data Organization: Generic As shown in FIG. 20, generic data organization is contained in two dictionaries, the cluster dictionary formed as shown at 245 and the structure dictionary indicated at 246, together with an associated glossary shown at 244b. The cluster dictionary contains the unique name and identification number for each cluster in the environment together with other appropriate characteristics and pointers to the structure dictionary and the glossary. The glossary contains the definition of the cluster. The structure dictionary contains one record for each node in the cluster, together with all appropriate characteristics of that node in that cluster. Each such record is linked via a link list pointer. Note that there can be no two clusters with the same set of nodes, so each link listed group of records also uniquely defines a cluster. Note that versioning of clusters is allowed. It is by this means that cluster definitions can be changed over time without loss of access to data stored previously under earlier versions of a cluster. Changes to a cluster version trigger a new set of node entries in the structure dictionary. 5.2.4 Data Organization: Specific As shown in FIG. 21, specific data organization is contained in a single instance set dictionary formed as shown in step 247. This dictionary consists of link listed records, one for each node in the instance cluster. The distinction from that of the structure dictionary is that each record contains not only the data reference for a node but also the specific data item. Since no two instance data sets can be the same, there are a set of records in the instance set dictionary for each instance data set in the environment. Overhead for this dictionary may be high, and in such a case the equivalent of this dictionary information can be achieved at much lower overhead by simply link listing the individual records in the neutral form file that constitute one instance cluster. In this approach, the user discerns what cluster and properties being dealt with in a given instance cluster by comparing the list of nodes found in a link listed instance cluster of records of the neutral form file with the nodes in various clusters listed in the structure dictionary. This method is preferred over the more direct method of creating an instance set dictionary. 5.2.5 Model Dictionary A model defines the structure and properties of instance segments that constitute the instance represented by a set of information. As shown in FIG. 22, the model dictionary is formed as shown at 251 and contains the unique name and identification number of each model in the environment, together with other pertinent properties of the model, including a pointer to the glossary record indicated at 244c containing the definition of the model name. A model is composed of either the single comprehensive initial cluster or the redistributed set of associated, dynamically linked clusters. Each model dictionary record therefore contains pointers to each of the cluster dictionary records that contains one of the clusters in the model. Since clusters, once formed, are autonomous, the model dictionary is optional, describing the path to the formation of a collection of clusters. 5.2.6 Domain Dictionary As shown in FIG. 23, a domain contains one or more models or clusters. As shown in FIG. 22, the domain dictionary is formed as shown at 252 and contains the unique name and identification number of each domain in the environment, together with other pertinent properties of the domain, including a pointer to the glossary record indicated at 244c containing the definition of the domain name. As shown in FIG. 23, models and clusters within a domain do not have to be dynamically linked. Domain simply provides a means for grouping models and clusters together for the convenience of the user. Note that domains can be arbitrarily created, including one within another without any restrictions or requirements on the models involved in those domains. Note also that the presence of models and clusters in two different domains in no way affects the ability of those models and clusters to dynamically link with one another. An environment, then, is comprised of a set of domains which in turn contain one or more models, clusters and further domains, each of which contain one or more models clusters and domains. Each such environment is distinguished from all others by the particular contents of its dictionary system. As shown in FIG. 22, the domain dictionary at 252 contains the unique name and identification number of each domain in the environment, together with other pertinent properties of the domain, including a pointer to the glossary record at 244c containing the definition of the domain name. 5.3 Making Changes As shown in FIG. 24, changes as indicated at 261 may be made to an instance structure and/or its supporting dictionary data items both before and after data items have been loaded into the environment. Changes 261 can include additions, edits and deletions. Additions can include: new clusters; new nodes to existing clusters; additional properties for an existing node or cluster. Both properties of an existing node and an existing cluster can be edited. Any file record can be deleted either functionally or permanently. Once data items have been loaded into the environment, changes result in a version change for the cluster involved. Access to data items stored with structural tags from an earlier version of an instance model as at 262, is preserved by simply preserving the dictionary items that are associated with such structural tags that were employed for the neutral form storage of all such data items. Deletions as indicated at 261 can occur either functionally or permanently. In functional deletion, a bit is set in the appropriate file record to signal inactivity, but the record is not removed. Versioning of structures provides access to functionally deleted items. In permanent deletion, the record is physically removed. Among cluster types, only changes to nested clusters have the potential to affect the integrity of a model structure. Accordingly, nested clusters as shown at 263 cannot be deleted until the dependencies are resolved for the cluster it is nested into. Where a nested cluster is involved in a change, consistency must be maintained in nodes that constitute the dynamic link between two clusters in an instance structure. 5.4 Incorporating Dictionary Data Items into an Environment FIG. 25 illustrates schematically the process as indicated at 280 for incorporation of dictionary data items as indicated at 240, 291 and 292 into an existing environment as indicated at 290. An environment consists of a single neutral form file containing one or more sets of information from one or more instance universes and an associated set of dictionary system files. These files can involve models with clusters that are not linked as well as clusters that are dynamically linked. The process is shown applicable both to dictionary items associated with both newly modeled instances as indicated at 240 and also dictionary items created and transferred from another environment as indicated at 291 and 292. In either case, incorporation involves a reconciliation process indicated schematically at 280 of such dictionary items 240 or 292 with the dictionary items already associated with the existing environment and indicated at 290. As shown in FIG. 26, the process of reconciliation indicated at 280 first involves the search as indicated at 282 of the existing environment dictionary system 290 for candidate dictionary data items that match each dictionary item being reconciled. The existence of collections of aliases, associations and synonyms on both sides (inbound dictionary data items and system dictionary data items) enhances a user's ability systematically to find candidate matches. For each data item being reconciled, candidate existing dictionary data items are reviewed as indicates at 283 the manner discussed indirectly indicated at 282. The next step is a decision step as indicated at 283 with three alternative outcomes: (1) the inbound and existing dictionary data item are found to be the same, in which case the existing data item is used; (2) the inbound and existing dictionary data item are determined equivalent, in which case the inbound data item is added to the existing dictionary system and treated as an alias; and (3) there is no existing data item that matches the inbound data item which is thus a different or new one, in which case the inbound data item is added to the existing dictionary system as a new data item. Once this process of reconciliation of FIG. 26 is complete, the existing environment can accept and properly tag any instance data sets for storage that rely upon the inbound dictionary data items. 6.0 Data Storage & Retrieval FIG. 27 schematically provides in summary form the basic steps involved in neutral form storage and retrieval of instance data sets according to the present invention once a model has been established within an environment. Initially, a connection between instance data items and instance structure is established as indicated at 300. The neutral form structural tags are then assigned to data items and instance data sets are loaded and stored as indicated at 320, while data already loaded may be edited or deleted as needed as shown at 340. Thereafter, targeted instance data sets are queried and retrieved as illustrated at 360. 6.1 Connection Between Instance Data and Instance Structure FIG. 28 illustrate the mechanics involved for establishing the connection between an instance data set and the node structure that has been modeled for it. Data preparation according to step 221 (FIG. 12) is performed as discussed previously during modeling to establish the data items in an instance data set and their arbitrary but definable order in a raw data file. The structure dictionary 245 formed as discussed above in FIG. 20, lists the nodes and their arbitrary order in the clusters that define the structure to be used in coding individual data items with structural tags. These two orderings of information from the structural dictionary and instance data set are then joined through a mapping step illustrated at 302. This is done to enable the matching up of data items in an instance data set with their appropriate cluster and cluster node. This mapping according to step 302 is then applied to each successive instance data set during data loading and neutral form coding. 6.2 Assigning Neutral Form Tags and Storing Instance Data Sets The process step 302 illustrated in FIG. 27 for actually assigning structural tags and then loading and storing data instance sets in neutral form is depicted in further detail in FIG. 29. A set of information 100 is prepared as instance sets 221 in the manner previously described, from which individual data items are drawn at step 321 for structural tag coding. The data type dictionary indicated at 242 and the map of cluster and node matches to data items 302 are used to establish the structural tag for each data item in an instance data set at step 322. The data value indicated previous at 321 is checked as indicated at 324 for whether the value is new or a duplicate. Finally, and as indicated at 326, a determination is made of whether all of the data values for an instance data set have been processed. If they have not, the process returns to the step indicated at 321. Once a full instance data set has been coded as detected in step 326, that data set is written to storage at step 328. The process is then repeated based upon the results of a decision step 330 until all instance data sets have been coded and stored. FIG. 30 illustrates schematically the resultant data structure formed in the manner of FIG. 29. As is shown in FIG. 30, the method of the present invention provides great flexibility in the formatting of a neutral form file. The total overhead associated with the structural tagging of data items may vary based upon the formatting conventions that are chosen for the various elements of the structural tag. A preferred example of such formatting is thus presented in FIG. 30. The neutral form file overhead of this particular format for the storage of the structural tag is shown in FIG. 31. It is to be noted that the stated overhead value of 18 bytes in FIG. 31 is achieved by using identification numbers of fixed 4 byte size in place of the actual name of each element in the structural tag. It should also be noted that the 12 bytes assigned for data reference name could be reduced significantly by reducing it from three characteristics there shown (ID for the simple name, i.e., Kid; ID for schema name, i.e., Sid; ID for author name, i.e., Lid) to two or even to one. With only one characteristic used, the total overhead drops from 18 to 10 bytes. The relative significance of a particular number of assigned bytes for a structural tag depends upon the average bytes to be stored for each discrete data value. This is the case provided that no additional space is required to deal with duplicates of individual data values as will be discussed below. FIG. 32 provides a graphical mapping of the total neutral form bytes per data value as a function of the average bytes in a stored discrete data value. Although it is not mandatory for the method of the present invention, the method can accommodate a variety of techniques for compressing data value storage through the elimination of duplicates. In fact, the embodiment presented here avoids the storage of duplicates entirely. It is to be noted in FIG. 30 that the chosen format involves the use of a pointer in the data item slot of the neutral form, rather than the data value itself. Referring to FIG. 29 it is again noted that, once a structural tag has been assigned, the data value that is to receive that tag is checked against the existing stored data values to determine whether it is new or a duplicate at step 324. A data value pointer in the neutral form record thus allows for the construction of a data values file which stores only discrete data values. FIG. 33 outlines the structure of this data values file. Neutral form records as illustrated at 328 contain a pointer to the record in a data value file record 332 that contains the discrete data value called for in the neutral form record. If such a record does not exist in the data value file, a new record is created. Separate sets of discrete values records are created in the data values file for each data reference (i.e., cluster node) in the environment. The data values file can then be read as shown at 334 for the listing of all data references in the environment 332 and shown at for the listing of all discrete data values for each such data reference. The data values file 332 (FIG. 33) provides for the recording of any existing equivalency between discrete data values through the use of link list pointers. Once a set of information has been loaded into an environment, a user can call up and review the list of the discrete values formed in step 332 and mark those pairs that are known to be or considered to be equivalent, e.g., "heat exchanger" and "heat exchanger" or "Moyno pump" and "Moynoe pump" or "Asst. Superintendent" and "Assistant Superintendent." A link list pointer is then assigned to each such discrete data value record which points to the record which contains such indicated or equivalent data value. This equivalency, once established, applies to all past and future loading of any sets of information containing such data values for the specified data reference. 6.3 Changing Data Items Once They are Loaded Edits and deletions can be performed on data items after they have been structurally tagged and loaded. With the present invention, this can be easily accomplished. All that is required is to treat edited data values as new data values. If after completing the editing of a data value it is found that the edited form of the data value already exists in the data values file 332, the pointer in the neutral form record is shifted to this data value record; if it does not, a new record is created. In a separate maintenance step, the initial data value that was the target of the editing can be deleted. That deletion will be restricted to a functional deletion if that data value is in use somewhere in the environment. It can be permanent if no such dependency exists. Of course if existing dependencies can be eliminated then a functional deletion can be converted into a permanent one. 6.4 Querying and Retrieving Data The process of retrieving targeted instance data sets involves the formulation of a query specification and a search of neutral form records for compliant instance data sets. Query specifications can involve single or multiple clusters. In the case of multiple clusters, the clusters will be dynamically linked. 6.4.1 Single Cluster Search FIG. 34 summarizes the steps involved in a single cluster search. First a cluster is chosen as shown at 360 from the environment of available clusters. Second, the list of data references for that cluster is read at step 361 and a subset of them are selected at step 362 for the specification of query constraints. The list of discrete data values for each selected data reference is then read and one or more values are chosen as constraints for the search. Alternatively, a logical or algebraic expression can be composed as the form of the constraint for a data reference. The resulting collection of data references and their associated constraints constitute a query specification indicated schematically at 366 for the search. Individual neutral file records are then searched sequentially at step 368, in an iterative manner indicated by decision, one cluster instance data set at a time, for compliance with the query specification. The resultant conforming set of cluster instances found on completion of the sequential search represents the result to the query. 6.4.2 Multiple Cluster Search One skilled in the art will appreciate that many different methods are possible for executing a multiple cluster search. A variety of circumstances will dictate from one application to another which method is preferred. FIG. 35 merely illustrates one method and the set of steps involved. At step 370 a user first chooses a set of dynamically linked clusters as the basis for his search. For purposes of illustration, two such clusters are shown in FIG. 35. The process would merely be repeated for additional dynamically clusters, carrying along the previous results as the basis for the search of the next dynamically linked cluster. Each cluster is initially addressed separately. The collection of data references in clusters 1 and 2 that are part of the universe of the instance defined by the prime or distinct data reference set or sets forming the dynamic link are first identified in steps 371 and 372, respectively. From these data reference sets one or more data references are selected from each cluster and constraints are defined as illustrated at 373 and 374, for example by specifying one or more values from the list of discrete values for a data reference. Each of the resulting query specifications from steps 373 and 374 is then applied separately in a sequential search of the neutral form records at step 375. Complying cluster instances may be found, each conforming to one portion of the total query specification, but not necessarily to both as shown at 376. Therefore, a second round of searching at step 377 is performed on the pool of clusters found in the first round of searching of step 375. The second search in step 377 is configured to search for the subset of cluster instances whose dynamically linked data references share matching instance values. Complying matches are cluster instance specific. 6.4.3 Identifying Clusters that Have Dynamic Links Data references and data values from any combination of dynamicallylinked clusters, regardless of their domain location within the environment can participate in a single query specification. One skilled in the art will appreciate that there are many different methods that could be employed for identifying a set of dynamically linked clusters within a given environment. By way of illustration, a user can search the environment for dynamically linked clusters to determine what relationships exist and upon which he can therefore build a query specification. This is accomplished by first establishing a lead cluster. Each of the prime or distinct data reference sets in that cluster are separately used as the basis for a search of the cluster dictionary records for those clusters which contain the same prime or distinct data reference set or sets of nodes. Any such cluster is dynamically linked with the first cluster, regardless of whether these nodes are unmarked in the respective cluster or marked as belonging to either a prime or a distinct data set. The particular data references in those clusters that validly participate in the dynamic link then are those that belong to the universe of the instance defined by the prime or distinct data reference set or sets acting as the basis set. One method discovered by and currently preferred by the inventors for identifying such data references involves assigning relative granularities to a data reference, one for each prime or distinct data reference set that it is associated with. Those data references with a granularity that does not exceed that of a particular prime or distinct data reference set are then part of the universe of the instance that is defined by that prime or distinct data reference set. 6.5 Capacity for Efficiencies in Storage & Retrieval Depending upon the application involved, there may be many opportunities for efficiencies in the storage and retrieval of neutral form information. The following are merely provided as examples. 6.5.1 Minimizing Space Required for Structural Tag As noted above, FIG. 32 demonstrates the wide variety of overheads that are possible in structural tagging. Many techniques are possible for controlling and reducing this overhead with the present invention. 6.5.2 Minimizing Space Required for Data Already addressed has been one technique for reducing data value storage space through the elimination of duplicates. Other techniques may be possible. They should also be applicable to the method of the present invention. 6.5.3 Maximizing Data Retrieval Speed It should also be appreciated that there are many techniques available for facilitating the basic search process. Such techniques are generally referred to in the art as data indexing techniques, and are also applicable to the method of the present invention. Those in the art will also appreciate that there are many techniques that can be applied to optimize the path taken and therefore the speed of the cascading search process that occurs when a query specification involves two or more clusters. 7.0 Data Transfer Results of a query and retrieval operation on a neutral form environment can be transferred directly in their neutral form. However, to be interpreted, the receiving party also requires the dictionary data items that define the meaning of the structural tags used in the neutral file. These dictionary data items are readily identifiable from the set of structural tags present in the file to be transferred. As shown in FIG. 36, the data items are simply converted to neutral form and added to the file of instance data sets already present in neutral form. This produces a complete and self-contained neutral form transfer file. The universal data typing discussed above with respect to FIG. 17 enables this writing of such dictionary data items in compatible neutral form. FIG. 36 outlines the structure of the records that make up the neutral file form of dictionary data items in this form. FIG. 37 provides an example of the application of this form to the construction of structural tags for selected dictionary data items. 8.0 Computer Program FIGS. 38 through 44 inclusive specify a computer system and illustrate a flow chart of a digital computer program for performing the method of the present invention for modeling, storing and transferring data items and information on that computer system. Further details for many of the steps outlined in the flowchart of FIGS. 38 through 44 are to be found in the subject matter of FIGS. 10 through 38 discussed above. Input data are originally provided to the computer in the form of either bulk data 410 (FIG. 38) or batch data fed by a data entry user 420 through a keyboard 430. An operator 440 then turns over initial control of the computer 450 to the computer program for execution of a start instruction 500 (FIG. 39) after which control is transferred to an instruction 502 causing the computer 450 to open a set of dictionary files for the data modeling operations described below. The operator enters information needed to create a model and domain at step 504 for the data model. By instruction 506 the computer stores the created information as conditional dictionary data items and then proceeds to execute instruction 508 with interactive inputs where necessary from the operator 440. When instruction 508 has been completed, the computer stores the results as conditional dictionary data items 506 and then proceeds to execute instruction 510 with appropriate input from the operator. If the operator indicates that a one-to-many relationship exists and he wishes to transfer it to one or more associate clusters, the computer proceeds to execute instruction 512 with appropriate inputs from the operator. At the completion of instruction 512, the computer stores the results as conditional dictionary data items in step 506 and then proceeds to executive instruction 514. If no one-to-many relationships are indicated to exist, the computer bypasses instruction 512 and proceeds directly to execute instruction 514 with appropriate operator input. If the operator requests formation of a nested cluster from an existing cluster, the computer proceeds to execute instruction 516 with appropriate input from the operator. At the completion of instruction 516, the computer stores the results as conditional dictionary data items 506 and returns to execute instruction 514 again until no further nested clusters are called for by the operator, after which point the computer next proceeds to execute instruction 520 with appropriate input from the operator. If the operator requests the formation and nesting of an associate cluster, the computer proceeds to execute instruction 518 with appropriate input from the operator. At the completion of instruction 518, the computer stores the results as conditional dictionary data items 506 and returns to execute instruction 514 again until no further nested clusters are called for by the operator, after which the computer proceeds to execute instruction 520 with appropriate input from the operator. If no nested clusters are called for by the operator, the computer bypasses instructions 516 and 518 altogether and proceeds directly to execution of instruction 520 with appropriate input from the operator. At the completion of instruction 520, the computer stores the results as conditional dictionary data items 506 and returns control to the operator. The operator returns control to the computer for execution of instructions to reconcile each of the conditional dictionary data items that were created during data modeling with previously reconciled existing dictionary data items in the environment dictionary system 526 (FIG. 40). The computer first executes instruction 522 by selecting the first conditional dictionary data item. This conditional dictionary item includes a name, and identification number, typically a set of associations and synonyms for the named item, and in certain cases one or more aliases. The listing of these is compiled and checked against all entries in the environment dictionary system 526. At the operator's discretion, matches can be declared by the computer for any degree of overlap between the conditional dictionary entry list and the environment dictionary system entry. Upon return of the list of matches by the computer, the operator must evaluate at step 528 and make a judgment about any candidate matches. The computer provides the operator with a view of the dictionary entry contents of any candidate match. On the basis of a review of this information, the operator directs the computer during step 530 to: (a) create a new environment dictionary system entry shown as step 530a using the conditional dictionary entry information because there is no matching existing entry in the environment dictionary system; (b) create in step 530b a new environment dictionary system entry as an alias using the conditional dictionary entry information because there is an equivalent existing entry in the environment dictionary system; or (c) in step 530c use the existing environment dictionary system entry that exactly matches the conditional dictionary entry. Once the operator has directed the computer for the disposition of a conditional dictionary entry, the computer determines at step 532 whether or not further conditional dictionary entries remain to be reconciled. If there are, the computer repeats the process described above until no further conditional dictionary entries remain unresolved, at which point the computer in step 534 proceeds to store all changes that have been made to the environment dictionary system, stores the changes to the environment dictionary system, closes the open files 538, and stops at step 540. At this point, all conditional dictionary entries are recognized by and defined in the environment dictionary system and data based upon the conditional dictionary entries can be loaded. The above procedure is carried out in the same fashion whether the conditional dictionary entries involved are the result of a new data modeling exercise occurring in the current environment or the result of a transfer of neutral form data from another environment, which transfer included the dictionary entries from that environment required to interpret the generalized tags used in the neutral form file. Data items can be loaded in bulk into an environment once all of the dictionary entries required to define generalized tags for those data items have been created and reconciled with the environment dictionary system into which the data items are to be loaded. Optionally, data items can be inputted manually by and operator. In such case, inputting proceeds by cluster instance or by sub-clusters where they are defined. For the case of bulking loading, control is assigned to the computer 600 by the operator after which the computer proceeds to open the files 602, those containing the data items to be loaded and those containing the environment dictionary system. The computer then reads appropriate entries in these files and, with appropriate input from the operator as outlined earlier in FIG. 28, organizes data items into instance sets, each set with its matching cluster name and ID and each data item in that set with its respective cluster node name and ID. One instance data set is then read by the computer 610. Where an instance data set is composed of more than one cluster, the computer next extracts one cluster instance of information 612. The computer then uses this information to assign and attach structural tags 614 to each data item in the instance cluster. The procedure followed by the computer is that outlined earlier in FIG. 29. Results are written 616 to storage 618. If there are additional cluster instances in the instance data set, the computer repeats steps 612 through 618 until all cluster instances in the instance data set have been tagged and stored. When the complete instance data set has been tagged and stored, the computer checks 622 to see if there are any further instance data sets. If there are, the computer repeats steps 610 through 622 until all instance data sets have been read, tagged, and stored. When all instance data sets have been tagged and stored, the computer optionally presents the instance data for the user's determination of the equivalence of new and existing data values. The results are then stored and the computer files are either closed or the user proceeds to create a query specification for the retrieval of certain data values. The computer starts a query specification 700 by opening certain files in step 702 and reads the dictionary system in step 704. The user then selects a dynamically linked set of clusters in step 706 as the scope for his query specification. The operator then specifies to the computer in step 708 which data references from these clusters is to be included in the query specification. In step 710 the operator specifies to the computer which data references are to be constrained by equation, constrained by data value or included only as a reportable in the query result. The prime or distinct data reference sets comprising the dynamic linking are automatically included if they are not among those explicitly specified by the operator. The operator then supplies the necessary constraint equations in step 716 and the correct discrete values in step 714 based upon the computer's reading of the list of existing discretes in step 712. The cycle is repeated in step 718 until all desired data references have been included in the query specification as step 720. Query specifications can either be applied directly to the data in an environment or stored at step 720 for later application. Data selection and retrieval from the neutral form file comprising an environment is performed once a query specification has been written. As described earlier in FIGS. 34 and 35, data retrieval proceeds differently depending upon whether the query specification is confined to a single cluster or spans two or more dynamically linked clusters. In the case of a single cluster query specification, the computer reads the first instance data set in the neutral form file at step 722. The computer then compares at step 724 the contents of this instance data set with the query specification, first with regard to data reference and then with regard to the constraint imposed on that data reference. The first time the computer detects a mismatch at step 726, it rejects the instance data set as non-complying 728 and proceeds to check the next instance data set at 732 until all of the instance data sets in the neutral form file have been examined against the query specification. If the computer does not detect a mismatch at step 726, it saves the instance data set involved as a complying instance data set at 730 and proceeds to check the next instance data set at step 732 until all of the instance data sets in the neutral form file have been examined against the query specification. Once all complying instance data sets have been determined, they are reported out to the operator as the result of step 734. If no further queries are to be performed and no further processing of the results is to occur, the computer then optionally stores the query result at step 736, closes the open files at step 738 and stops at step 740. In the case of two clusters or more and as shown in FIG. 35, the computer first processes the clusters separately in the manner shown in the flow chart FIG. 43 and then processes the combination to find those cluster instances which jointly satisfy the query specifications for each of the separate cluster instances as well as that for the data reference set or sets that comprise the dynamic link. There is an opportunity for significant optimization of those searches where the query specification spans two or more clusters. The preferred path of such optimization depends upon the particular application involved. As previously noted, the existing art for optimization largely should be applicable to the present invention. In FIG. 43 dotted lines encompass those steps in the data retrieval process which can be performed in parallel by different microprocessors. Basically all of the computer operations involved in evaluating each instance data set taken from the neutral form file for compliance with a query specification at steps 722 through 732 can be performed in parallel by a collection of microprocessors. Once a set of complying instance data sets comprised of either individual cluster instances or dynamically li | ||||||
