×

XPath query processing improvements

  • US 8,631,028 B1
  • Filed: 10/29/2010
  • Issued: 01/14/2014
  • Est. Priority Date: 10/29/2009
  • Status: Expired due to Fees
First Claim
Patent Images

1. An XPath query processing system for processing one or more inputted queries against one or more inputted XML documents, the system comprising at least one computer system including a plurality of distributed hardware processors (CPU) and memory, at least one distributed hardware processor executing steps that:

  • creates a first index that comprises unique root to leaf paths (SUM-Index) where each unique root to leaf path has an associated unique path identifier (PID); and

    annotates each unique path in SUM-Index by PID;

    partitions SUM-Index by PID; and

    creates a second index that comprises tree nodes grouped by PID (PS-Index);

    partitions PS-Index by PID; and

    creates a third index that comprises values of the tree nodes grouped by PID (PV-Index); and

    partitions PV-Index by PID;

    wherein the first index, the second index, and the third index each have at least one path identifier and are linked together by at least one path identifier (PID); and

    each unique PID forms a nexus of unique path related information across the first index, the second index, and the third index; and

    each index attribute of the first index, the second index, and the third index is stored in a column store; and

    decomposes one or more XPath queries into one or more partial XPath queries;

    obtains a list of path identifiers from the first index to initialize a simple cursor (SC) access method or a multi-predicate-branching-path cursor (MPBPC) method from the one or more partial XPath queries;

    selects the second index to generate a result sequence of nodes using a simple cursor or a MPBPC cursor;

    selects the third index to lookup values to filter the result sequence of nodes; and

    produces one or more outputted XML documents from the result sequence of nodes.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×