Apparatus and method for storing, navigating among and adding links between data items in computer databases
First Claim
1. A method of storing, retrieving and navigating among interlinked objects based on a primary object, wherein a plurality of objects reside in memory in one or more computer systems coupled to a display, wherein each object is an instance of one of a plurality of object classes, wherein a first object class includes only such objects as can have a particular relationship represented by a particular kind of link to objects of a second object class where the same relationship cannot exist between objects of the first object class and a third object class, wherein a links class includes only such links as are constrained to link two objects of two different particular object classes or are constrained to link two objects of one particular object class and of no others, wherein memory coupled to the computer systems includes a first object related to second object by a first link and the second object related to the first object by a second link;
- wherein each link is an instance of one of a plurality of link classes, the method comprising;
displaying the objects on the display with the first object as the primary object;
displaying the relationship between the objects, as represented by the links, on the display, to show the circular relationship of the first object related to the second object and the second object related to the first object;
displaying the objects and the relationships between objects based on the second object as the primary object;
designating a class to be excluded; and
displaying the objects and relationships between objects on the display without displaying object instances of the designated class and relationships indicated by the link instances of the designated class.
1 Assignment
0 Petitions
Accused Products
Abstract
Information, or data, among applications in multiple diverse computer systems is represented in a uniform way allowing the data to be easily manipulated, navigated and modified. Each piece of information is stored as a uniquely identifiable object instance of one of multiple uniquely identifiable object classes that are themselves instances of a Root class. Two object instances can be linked by a uniquely identifiable two-way navigable link of a particular links class. Each link of a links class is constrained to linking object instances of either one or two different object classes. Each link also has a corresponding object instance such that the object class of the corresponding object instance is the links class, and the unique identifier of the object instance is the same in value as the unique identifier of the link. In the preferred embodiment, all object instances are held in a single relational table with only three columns, while all the links are held in a second relational table with only two columns. The data that is displayed when an object instance is selected is held in a separate details table for each object class, with the necessary relational join between a details table and the object instance table being efficient due to a one to one relationship involved in the join. The only other data that is normally involved or required to be searched during navigation is held in a data dictionary that is much smaller in size than the other data in the system of this invention. A graphical user interface is provided that presents the data as a hierarchical tree structure based on a primary object. Any object may be selected as the primary object. Circular relationships are supported and displayed. Object and link classes may be excluded from the display as desired.
249 Citations
16 Claims
-
1. A method of storing, retrieving and navigating among interlinked objects based on a primary object, wherein a plurality of objects reside in memory in one or more computer systems coupled to a display, wherein each object is an instance of one of a plurality of object classes, wherein a first object class includes only such objects as can have a particular relationship represented by a particular kind of link to objects of a second object class where the same relationship cannot exist between objects of the first object class and a third object class, wherein a links class includes only such links as are constrained to link two objects of two different particular object classes or are constrained to link two objects of one particular object class and of no others, wherein memory coupled to the computer systems includes a first object related to second object by a first link and the second object related to the first object by a second link;
- wherein each link is an instance of one of a plurality of link classes, the method comprising;
displaying the objects on the display with the first object as the primary object; displaying the relationship between the objects, as represented by the links, on the display, to show the circular relationship of the first object related to the second object and the second object related to the first object; displaying the objects and the relationships between objects based on the second object as the primary object; designating a class to be excluded; and displaying the objects and relationships between objects on the display without displaying object instances of the designated class and relationships indicated by the link instances of the designated class. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
- wherein each link is an instance of one of a plurality of link classes, the method comprising;
Specification