Method, system, and program for merging query search results
First Claim
1. A method for searching a database of objects having attributes, comprising:
- submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects, wherein the subsequent query is generated based on the initial query;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for interacting with a database report is disclosed. The database is responsive to a query to produce an associated report comprising one or more objects, each object comprising a plurality of attributes. The system comprises means for storing one or more reports from respective database queries; and means for rendering at least one object from the stored reports. A user interface enables a user to navigate through objects composing the stored reports to select an object; select one or more attributes of the selected object and determine a value of a selected attribute to be used as a condition in a subsequent database query. A query generator receives the selected attribute values and generates the subsequent database query.
70 Citations
48 Claims
-
1. A method for searching a database of objects having attributes, comprising:
-
submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects, wherein the subsequent query is generated based on the initial query;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point.
-
-
2. A method for searching a database of objects having attributes, comprising:
-
submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects wherein submitting the subsequent query comprises selecting one attribute from one object in the initial set at the query point, wherein a value for the selected attribute is used as the predicate in the subsequent query;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point.
-
-
3. A method for searching a database of objects having attributes, comprising:
-
submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point, wherein the initial set and additional set are ordered into a merged sequence indicating an order in which the first and additional sets of objects are presented to the user through a computer user interface. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
setting a next pointer for each object to a next object in the sequence and setting a previous pointer for each object to a previous object in the sequence.
-
-
5. The method of claim 4, wherein merging the objects from the additional set at the query point comprises:
-
setting the next pointer for a first object from the initial set at the query point to address one object in the additional set; and
setting the previous pointer for a second object from the initial set at the query to address one object in the additional set.
-
-
6. The method of claim 5, wherein the next pointer for the first object points to a first object in the additional set and wherein the previous pointer for the second object points to a last object in the additional set.
-
7. The method of claim 5, wherein submitting the subsequent query comprises:
selecting one object in the initial set and at least one attribute of the selected object, wherein a value for the at least one selected attributed is used as the predicate in the subsequent query, wherein the selected object comprises the second object, and wherein before the additional set of objects are merged with the initial set of objects at the query point, the next pointer of the first object at the query point points to the selected object and the previous pointer of the selected object points to the first object.
-
8. The method of claim 5, further comprising:
displaying a user interface that enables a user to navigate through the objects in an order in which the objects are linked by the next and previous pointers and display attributes of the objects.
-
9. The method of claim 8, wherein displaying the user interface further comprises:
displaying the linked objects in a table, wherein the attributes for each object are displayed in a row of the table, and wherein the rows for the objects are ordered according to the merged sequence ordering of the merged objects.
-
10. The method of claim 9, wherein displaying the linked objects in the table further comprises:
-
displaying the objects in the initial set in the table;
displaying one of the objects in the additional set in the table in an additional object row; and
displaying a user selectable element that is capable of scrolling through the additional objects according to the sequence of the additional objects and displaying each additional object selected with the user selectable element in the additional object row.
-
-
11. The method of claim 9, wherein the table is updated to display added additional objects when detecting additional objects received in response to one subsequent query.
-
12. The method of claim 8, wherein displaying the user interface further comprises:
-
displaying attribute information for one object in a display window;
displaying at least one user selectable element that enables the user to select an object adjacent to the object whose attributes are displayed; and
displaying attribute information for the object selected using the user selectable elements.
-
-
13. The method of claim 12, wherein the user selectable elements enable the user to select an object for display that is addressed by the next or previous pointer of the object whose attributes are displayed.
-
14. The method of claim 8, wherein the displayed attributes for one object are capable of comprising multimedia material, including text, video, audio, images, and graphics.
-
15. The method of claim 5, further comprising:
-
submitting a further subsequent query at a subsequent query point in the sequence of the additional set of objects received in response to one previous query following the initial query;
receiving additional objects in response to the further subsequent query;
setting the next pointer for a first additional object at the subsequent query point to one additional object received in response to the further subsequent query; and
setting the previous pointer for a second additional object at the subsequent query point to one additional object received in response to the further subsequent query.
-
-
16. The method of claim 15, further comprising:
displaying the objects in the sequence order indicated by their previous and next pointers.
-
17. A system for searching a database of objects having attributes, comprising:
-
means for submitting an initial query on the database providing predicates for at least one object attribute;
means for receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
means for ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
means for submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects, wherein the subsequent query is generated based on the initial query;
means for receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
means for merging the additional set of objects with the initial set of objects at the query point.
-
-
18. A system for searching a database of objects having attributes, comprising:
-
means for submitting an initial query on the database providing predicates for at least one object attribute;
means for receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
means for ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
means for submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects, wherein the means for submitting the subsequent query performs selecting one attribute from one object in the initial set at the query point, wherein a value for the selected attribute is used as the predicate in the subsequent query;
means for receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
means for merging the additional set of objects with the initial set of objects at the query point.
-
-
19. A system for searching a database of objects having attributes, comprising:
-
means for submitting an initial query on the database providing predicates for at least one object attribute;
means for receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
means for ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
means for submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects;
means for receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
means for merging the additional set of objects with the initial set of objects at the query point, wherein the initial set and additional set are ordered into a merged sequence indicating an order in which the first and additional sets of objects are presented to the user through a computer user interface. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
setting a next pointer for each object to a next object in the sequence and setting a previous pointer for each object to a previous object in the sequence.
-
-
21. The system of claim 20, wherein the means for merging the objects from the additional set at the query point performs:
-
setting the next pointer for a first object from the initial set at the query point to address one object in the additional set; and
setting the previous pointer for a second object from the initial set at the query to address one object in the additional set.
-
-
22. The system of claim 21, wherein the next pointer for the first object points to a first object in the additional set and wherein the previous pointer for the second object points to a last object in the additional set.
-
23. The system of claim 21, wherein the means for submitting the subsequent query performs:
selecting one object in the initial set and at least one attribute of the selected object, wherein a value for the at least one selected attributed is used as the predicate in the subsequent query, wherein the selected object comprises the second object, and wherein before the additional set of objects are merged with the initial set of objects at the query point, the next pointer of the first object at the query point points to the selected object and the previous pointer of the selected object points to the first object.
-
24. The system of claim 21, further comprising:
means for displaying a user interface that enables a user to navigate through the objects in an order in which the objects are linked by the next and previous pointers and display attributes of the objects.
-
25. The system of claim 24, wherein the means for displaying the user interface further comprises:
displaying the linked objects in a table, wherein the attributes for each object are displayed in a row of the table, and wherein the rows for the objects are ordered according to the merged sequence ordering of the merged objects.
-
26. The system of claim 25, wherein the means for displaying the linked objects in the table further comprises:
-
displaying the objects in the initial set in the table;
displaying one of the objects in the additional set in the table in an additional object row; and
displaying a user selectable element that is capable of scrolling through the additional objects according to the sequence of the additional objects and displaying each additional object selected with the user selectable element in the additional object row.
-
-
27. The system of claim 25, wherein the table is updated to display added additional objects when detecting additional objects received in response to one subsequent query.
-
28. The system of claim 24, wherein the means for displaying the user interface further performs:
-
displaying attribute information for one object in a display window;
displaying at least one user selectable element that enables the user to select an object adjacent to the object whose attributes are displayed; and
displaying attribute information for the object selected using the user selectable elements.
-
-
29. The system of claim 28, wherein the user selectable elements enable the user to select an object for display that is addressed by the next or previous pointer of the object whose attributes are displayed.
-
30. The system of claim 24, wherein the displayed attributes for one object are capable of comprising multimedia material, including text, video, audio, images, and graphics.
-
31. The system of claim 21, further comprising:
-
means for submitting a further subsequent query at a subsequent query point in the sequence of the additional set of objects received in response to one previous query following the initial query;
means for receiving additional objects in response to the further subsequent query;
means for setting the next pointer for a first additional object at the subsequent query point to one additional object received in response to the further subsequent query; and
means for setting the previous pointer for a second additional object at the subsequent query point to one additional object received in response to the further subsequent query.
-
-
32. The system of claim 31, further comprising:
means for displaying the objects in the sequence order indicated by their previous and next pointers.
-
33. A program for searching a database of objects having attributes, wherein the program is embedded in a computer readable medium and includes code capable of causing a processor to perform:
-
submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects, wherein the subsequent query is generated based on the initial query;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point.
-
-
34. A program for searching a database of objects having attributes, wherein the program is embedded in a computer readable medium and includes code capable of causing a processor to perform:
-
submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects, wherein submitting the subsequent query comprises selecting one attribute from one object in the initial set at the query point, wherein a value for the selected attribute is used as the predicate in the subsequent query;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point.
-
-
35. A program for searching a database of objects having attributes, wherein the program is embedded in a computer readable medium and includes code capable of causing a processor to perform:
-
submitting an initial query on the database providing predicates for at least one object attribute;
receiving an initial set of objects having attributes satisfying the initial query in response to the first query;
ordering the initial set of objects into a sequence indicating an order in which the objects are presented to a user through a computer user interface;
submitting a subsequent query on the database providing different predicates than used in the initial query at a query point in the sequence of the ordered initial set of objects;
receiving an additional set of objects satisfying the predicates in the subsequent query in response to the subsequent query; and
merging the additional set of objects with the initial set of objects at the query point, wherein the initial set and additional set are ordered into a merged sequence indicating an order in which the first and additional sets of objects are presented to the user through a computer user interface. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
setting a next pointer for each object to a next object in the sequence and setting a previous pointer for each object to a previous object in the sequence.
-
-
37. The program of claim 36, wherein merging the objects from the additional set at the query point comprises:
-
setting the next pointer for a first object from the initial set at the query point to address one object in the additional set;
setting the previous pointer for a second object from the initial set at the query to address one object in the additional set.
-
-
38. The program of claim 37, wherein the next pointer for the first object points to a first object in the additional set and wherein the previous pointer for the second object points to a last object in the additional set.
-
39. The program of claim 37, wherein submitting the subsequent query comprises:
selecting one object in the initial set and at least one attribute of the selected object, wherein a value for the at least one selected attributed is used as the predicate in the subsequent query, wherein the selected object comprises the second object, and wherein before the additional set of objects are merged with the initial set of objects at the query point, the next pointer of the first object at the query point points to the selected object and the previous pointer of the selected object points to the first object.
-
40. The program of claim 37, further comprising:
displaying a user interface that enables a user to navigate through the objects in an order in which the objects are linked by the next and previous pointers and display attributes of the objects.
-
41. The program of claim 40, wherein displaying the user interface further comprises:
displaying the linked objects in a table, wherein the attributes for each object are displayed in a row of the table, and wherein the rows for the objects are ordered according to the merged sequence ordering of the merged objects.
-
42. The program of claim 41, wherein displaying the linked objects in the table further comprises:
-
displaying the objects in the initial set in the table;
displaying one of the objects in the additional set in the table in an additional object row; and
displaying a user selectable element that is capable of scrolling through the additional objects according to the sequence of the additional objects and displaying each additional object selected with the user selectable element in the additional object row.
-
-
43. The program of claim 41, wherein the table is updated to display added additional objects when detecting additional objects received in response to one subsequent query.
-
44. The program of claim 40, wherein displaying the user interface further comprises:
-
displaying attribute information for one object in a display window;
displaying at least one user selectable element that enables the user to select an object adjacent to the object whose attributes are displayed; and
displaying attribute information for the object selected using the user selectable elements.
-
-
45. The program of claim 44, wherein the user selectable elements enable the user to select an object for display that is addressed by the next or previous pointer of the object whose attributes are displayed.
-
46. The program of claim 40, wherein the displayed attributes for one object are capable of comprising multimedia material, including text, video, audio, images, and graphics.
-
47. The program of claim 37, further comprising:
-
submitting a further subsequent query at a subsequent query point in the sequence of the additional set of objects received in response to one previous query following the initial query;
receiving additional objects in response to the further subsequent query;
setting the next pointer for a first additional object at the subsequent query point to one additional object received in response to the further subsequent query; and
setting the previous pointer for a second additional object at the subsequent query point to one additional object received in response to the further subsequent query.
-
-
48. The program of claim 47, further comprising:
displaying the objects in the sequence order indicated by their previous and next pointers.
Specification