XML Twig Query Processing with Arbitrary Boolean Predicates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current XML twig query processing systems are limited to handling single primary Boolean predicates and are memory-intensive, failing to efficiently process queries with arbitrary Boolean predicates such as AND, OR, NOT, NAND, NOR, XOR, and XNOR, and their combinations.

Innovation Solution

A computer-implemented method using a hierarchical stack encoding scheme and L-blocks to process XML twig queries with arbitrary Boolean predicates, where L-blocks capture Boolean operations and maintain structural relationships between XML tree elements, allowing for efficient evaluation and reduction of intermediate results storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current holistic schemes are used to process XML twig queries, then single primary Boolean predicates can be handled, but arbitrary Boolean predicates (AND, OR, NOT, NAND, NOR, XOR, XNOR and their combinations) cannot be processed

Engineering Contradiction:
ImproveBoolean predicate handling capabilityVSAvoidquery processing scheme complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies universality by creating a unified query processing scheme that handles all types of Boolean predicates (AND, OR, NOT, NAND, NOR, XOR, XNOR and their combinations) through a single framework. The holistic twig query processing method is extended to universally support arbitrary Boolean predicates rather than being limited to single primary predicates, making the system multi-functional and adaptable to diverse query requirements

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If conventional XML twig query processing schemes are used, then query processing can be performed, but large amounts of memory are consumed to store intermediate results

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies discarding and recovering by selectively eliminating non-contributing elements from intermediate results during the bottom-up query processing. Instead of storing all intermediate path matches, the method identifies and discards elements that will not contribute to final twig results, thereby reducing memory consumption while maintaining query processing correctness and efficiency

Inventive Principle:
Principle #34Discarding and recovering

3Loss of information

If bottom-up processing with hierarchical stack encoding is used, then intermediate results can be compactly represented, but memory is still extensively used to store these intermediate results

Engineering Contradiction:
Improveintermediate results compressionVSAvoidmemory usage
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent combines hierarchical stack encoding with selective discarding of non-contributing elements. The encoding scheme compactly represents intermediate results, and the method further reduces memory usage by identifying and discarding elements that will not contribute to final results, achieving both compression and memory efficiency

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS8862611B2Bottom-up query processing scheme for XML twigs with arbitrary boolean predicates
Publication Date: 2014.10.14 INFOSYS LTD
  • US8862611B2 patent drawing
  • US8862611B2 patent drawing
  • US8862611B2 patent drawing

AI summary

Systems, methods, and computer-readable code for processing queries for XML twigs using bottom-up processing include: receiving, by a computing device, a query XML twig including at least one sub-twig; determining whether an element in an XML tree is a root element of at least one sub-twig of the query XML twig, evaluating an arbitrary Boolean operation in the at least one sub-twig; populating a logic block if the element is a root element of the at least one sub-twig; inserting the element into an appropriate stack of a hierarchical stack if the element is not a root element of the at least one sub-twig; evaluating whether the element contributes to finding results of the query; discarding the element if the element does not contribute to finding results of the query; and determining whether the element is the root of the query XML twig.