Techniques are provided for determining the efficient conjunction of Boolean variables drawn from an and-or forest of choices. The techniques determine two contexts to conjoin, where the contexts consist of choices drawn from an and-or forest of choices. The choices in the first context are marked with a first mark, along with all of their antecedent choices. The choices in the second context are marked with a second mark, along with all of their antecedent choices. The techniques determine and-nodes in the and-or forest having the first mark from a first dependent or-node and the second mark from a second dependent node. The dependent or-nodes are refined and then partitioned into classes based on the presence of the first mark and the second mark, the first mark only, the second mark only, and neither mark. A cross-product of the partitions for each node is determined and the resultant combinations are grouped based on the presence of both the first and second marks, the presence of the first mark only, the presence of the second mark only and presence of neither mark. A new or-node having choices reflecting the combinations having both marks, the first mark only, the second mark only and neither mark is determined. The new or-node represents a transformed and-or forest of choices that is in free-choice form. The first and second nodes in the forest of choices are replaced with an or-node having choices based on the first and second mark. The conjunction of contexts is then determined based on the choice having both the first and second marks.

 
Web www.patentalert.com

> Parent-child query indexing for XML databases

~ 00322