System and method for interactively formulating database queries using graphical representations
First Claim
1. A method for converting a graphical representation to a Boolean algebra statement representation comprising the steps of:
- (a) when two arcs have the same To-- Nodes and From-- Nodes, combining the arcs into one arc with the conditions represented by the original arc linked by a logical OR operand;
(b) when two arcs are in a series with a Third-- Node in between having the same two arcs going into and out of it, combining the arcs into one arc with the conditions represented by each original arc linked by an AND operator;
(c) pushing onto a stack a graph path;
(d) popping a path from the stack for further processing;
(e) processing the path to produce a Boolean algebra statement segment while identifying any new paths;
(f) pushing a new path onto the stack; and
(g) repeating steps (d) through (f) until the stack is empty.
0 Assignments
0 Petitions
Accused Products
Abstract
In a computerized database system, a query is formulated to retrieve data from the database by interactively identifying at least one table containing query data, and at least one column and at least one row in the identified table containing the query data. The rows are interactively identified using a condition statement. The condition statement is interactively formulated using at least one displayed flowline. Input is received from the user specifying a position on the flowline for insertion of a predicate and the predicate. The flowline is displayed with the predicate inserted in the specified location. The predicates are displayed on the flowline in between nodes. Predicates on the same flowline are combined through a logical AND operation. Predicates on different flowlines between the same nodes are combined through a logical OR operation. The flowline is converted to a corresponding Boolean algebra statement and displayed. Input from the user adding a predicate is received in the Boolean statement and is converted to a corresponding updated graphical flow representation.
-
Citations
37 Claims
-
1. A method for converting a graphical representation to a Boolean algebra statement representation comprising the steps of:
-
(a) when two arcs have the same To-- Nodes and From-- Nodes, combining the arcs into one arc with the conditions represented by the original arc linked by a logical OR operand; (b) when two arcs are in a series with a Third-- Node in between having the same two arcs going into and out of it, combining the arcs into one arc with the conditions represented by each original arc linked by an AND operator; (c) pushing onto a stack a graph path; (d) popping a path from the stack for further processing; (e) processing the path to produce a Boolean algebra statement segment while identifying any new paths; (f) pushing a new path onto the stack; and (g) repeating steps (d) through (f) until the stack is empty.
-
-
2. A program storage device, readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for retrieving query data stored in tables having columns and rows, the computer being comprised of a central processing unit (CPU), a memory, a display device, and a user interaction device, the method comprising the steps of:
-
(a) receiving input identifying at least one table containing the query data; (b) receiving input identifying at least one column of the identified table containing the query data; (c) receiving input identifying at least one row in the identified table containing the query data using a condition statement interactively formulated by the following steps; (1) displaying a graphical flow representation comprising at least one flowline comprising at least one arc, a predicate assigned to each arc, and a plurality of nodes, each arc positioned between a From-- Node node and a To-- Node node, wherein predicates on the same flowline are combined through a logical AND operation, and predicates on different flowlines between the same nodes are combined through a logical OR operation; (2) receiving input specifying a position on a flowline of the graphical flow representation for insertion of a predicate; (3) receiving input specifying the predicate; (4) inserting the predicate at the specified position on the flowline; (5) displaying the graphical flow representation with the predicate inserted in the specified position on the flowline; (6) converting the graphical flow representation into a corresponding Boolean algebra statement; and (7) displaying the Boolean algebra statement. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A program storage device, readable by a computer, tangibly embodying a program of instructions executable by the computer to perform method steps for converting a Boolean algebra statement representation to a graphical representation, the method comprising the steps of:
-
(a) arranging the Boolean statement into a parse tree, wherein each element in the parse tree has a tree From-- Node and a tree To-- Node, each element is a leaf or a non-leaf, each non-leaf has a left child and a right child, each leaf is a connector, and each non-leaf is an OR operator or an AND operator; and (b) processing each element of the tree in preorder traversal to assign each condition predicate as a graph arc defined as connecting a graph From Node to a graph To-- Node, comprising the steps of; (1) assigning the root element From-- Node and To-- Node as the Beginning-- Node and Ending-- Node of the graph; (2) for an OR operator element, assigning an OR operator element From-- Node and To-- Node as the From-- Node and To-- Node of both of the OR operator element children; (3) for an AND operator element, creating a New-- Node, assigning the AND operator element From-- Node as the From-- Node of the left hand child of the AND operator element, the AND operator element To-- Node as the To-- Node of the right hand child of the AND connector element, assigning the New-- Node as the To-- Node of the left hand child and the from node of the right hand child of the AND operator element; and (4) for condition elements, creating an arc connecting the From-- Node to the To-- Node of the condition element by the condition.
-
-
14. In a computerized database system having a central processing unit (CPU), a memory, a display device, and a user interaction device, a method for retrieving query data stored in tables having columns and rows, comprising the steps of:
-
(a) receiving input identifying at least one table containing the query data; (b) receiving input identifying at least one column of the identified table containing the query data; (c) receiving input identifying at least one row in the identified table containing the query data using a condition statement interactively formulated by the following steps; (1) displaying a graphical flow representation comprising at least one flowline comprising at least one arc, a predicate assigned to each arc, and a plurality of nodes, each arc positioned between a From-- Node node and a To-- Node node, wherein predicates on the same flowline are combined through a logical AND operation, and predicates on different flowlines between the same nodes are combined through a logical OR operation; (2) receiving input specifying a position on a flowline of the graphical flow representation for insertion of a predicate; (3) receiving input specifying the predicate; (4) inserting the predicate at the specified position on the flowline; (5) displaying the graphical flow representation with the predicate inserted in the specified position on the flowline; (6) converting the graphical flow representation into a corresponding Boolean algebra statement; and (7) displaying the Boolean algebra statement. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A method for converting a Boolean algebra statement representation to a graphical representation, comprising the steps of:
-
(a) arranging the Boolean statement into a parse tree, wherein each element in the parse tree has a tree From-- Node and a tree To-- Node, each element is a leaf or a non-leaf, each non-leaf has a left child and a right child, each leaf is a connector, and each non-leaf is an OR operator or an AND operator; and (b) processing each element of the tree in preorder traversal to assign each condition predicate as a graph arc defined as connecting a graph From-- Node to a graph To-- Node, comprising the steps of; (1) assigning the root element From-- Node and To-- Node as the Beginning-- Node and Ending-- Node of the graph; (2) for an OR operator element, assigning an OR operator element From-- Node and To-- Node as the From-- Node and To-- Node of both of the OR operator element children; (3) for an AND operator element, creating a New-- Node, assigning the AND operator element From-- Node as the From-- Node of the left hand child of the AND operator element, the AND operator element To-- Node as the To-- Node of the right hand child of the AND connector element, assigning the New-- Node as the To-- Node of the left hand child and the Prom-- Node of the right hand child of the AND operator element; and (4) for condition elements, creating an arc connecting the From-- Node to the To-- Node of the condition element by the condition.
-
-
26. A computerized database system, comprising:
-
(a) a computer system comprised of a central processing unit (CPU), a memory, a display device, and a user interaction device, (b) means, performed by the computer system, for retrieving query data stored in tables having columns and rows, the means for retrieving comprising; (1) means for receiving input identifying at least one table containing the query data; (2) means for receiving input identifying at least one column of the identified table containing the query data; (3) means for receiving input identifying at least one row in the identified table containing the query data a using a condition statement interactively formulated by the following elements; means for displaying a graphical flow representation comprising at least one flowline comprising at least one arc, a predicate assigned to each arc, and a plurality of nodes, each arc positioned between a From-- Node node and a To-- Node node, wherein predicates on the same flowline are combined through a logical AND operation, and predicates on different flowlines between the same nodes are combined through a logical OR operation; means for receiving input specifying a position on a flowline of the graphical flow representation for insertion of a predicate; means for receiving input specifying the predicate; means for inserting the predicate at the specified position on the flowline; means for displaying the graphical flow representation with the predicate inserted in the specified position on the flowline; means for converting the graphical flow representation into a corresponding Boolean algebra statement; and means for displaying the Boolean algebra statement. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-implemented apparatus for converting a Boolean algebra statement representation to a graphical representation, comprising:
-
(a) means for arranging the Boolean statement into a parse tree, wherein each element in the parse tree has a tree From-- Node and a tree To-- Node, each element is a leaf or a non-leaf, each non-leaf has a left child and a right child, each leaf is a connector, and each non-leaf is an OR operator or an AND operator; and (b) means for processing each element of the tree in preorder traversal to assign each condition predicate as a graph arc defined as connecting a graph From-- Node to a graph To-- Node, comprising; (1) means for assigning the root element From-- Node and To-- Node as the Beginning-- Node and Ending-- Node of the graph; (2) for an OR operator element, means for assigning an OR operator element From-- Node and To-- Node as the From-- Node and To-- Node of both of the OR operator element children; (3) for an AND operator element, means for creating a New-- Node, means for assigning the AND operator element From-- Node as the From-- Node of the left hand child of the AND operator element, the AND operator element To-- Node as the To-- Node of the right hand child of the AND connector element, means for assigning the New-- Node as the To-- Node of the left hand child and the From-- Node of the right hand child of the AND operator element; and (4) for condition elements, means for creating an arc connecting the From-- Node to the To-- Node of the condition element by the condition.
-
Specification