9. A computer-implemented method for executing instructions stored on a computer readable storage medium, the method comprising: receiving a plurality of queries from a user and applied by a search engine to obtain corresponding search results, including identifying at least one search session of the user during which the plurality of queries were received in a sequence; generating, based on the plurality of queries, an initial graph of nodes, each node corresponding to at least one query and connected by an edge to another node in an order corresponding to the sequence, wherein the order and the sequence include at least one conflict in which a first parent node is connected by a first edge to at least one child node that is itself a second parent node connected by a second edge to the first parent node; detecting the at least one conflict and resolving the at least one conflict including determining that the second parent node corresponds to a higher value of at least one search quality metric than the first parent node, and then removing the second edge, based on the determining, to thereby transform the initial graph into a directed graph; merging at least two of the nodes based on a similarity of corresponding queries thereof, to obtain a merged node; relating the merged node with a domain topic of an ontology base; generating at least one representative query representing the merged node, based on the ontology base; matching a current query with a matching node of the nodes; following the directed graph from the matching node until the merged node is reached within the directed graph; and providing the at least one representative query to the user as a suggested query for a future search to be conducted by the search engine.
9. A computer-implemented method for executing instructions stored on a computer readable storage medium, the method comprising: receiving a plurality of queries from a user and applied by a search engine to obtain corresponding search results, including identifying at least one search session of the user during which the plurality of queries were received in a sequence; generating, based on the plurality of queries, an initial graph of nodes, each node corresponding to at least one query and connected by an edge to another node in an order corresponding to the sequence, wherein the order and the sequence include at least one conflict in which a first parent node is connected by a first edge to at least one child node that is itself a second parent node connected by a second edge to the first parent node; detecting the at least one conflict and resolving the at least one conflict including determining that the second parent node corresponds to a higher value of at least one search quality metric than the first parent node, and then removing the second edge, based on the determining, to thereby transform the initial graph into a directed graph; merging at least two of the nodes based on a similarity of corresponding queries thereof, to obtain a merged node; relating the merged node with a domain topic of an ontology base; generating at least one representative query representing the merged node, based on the ontology base; matching a current query with a matching node of the nodes; following the directed graph from the matching node until the merged node is reached within the directed graph; and providing the at least one representative query to the user as a suggested query for a future search to be conducted by the search engine. 11. The computer-implemented method of claim 9 , wherein the at least one search quality metric includes at least one of: a query count indicating a number of times a corresponding query was submitted, a click count indicating a number of times corresponding search results were selected, and a number of times a sequence of a corresponding pair of nodes occurred.