US2008215559A1PendingUtilityA1

System and method for querying xml streams

Assignee: FONTOURA MARCUS FPriority: Apr 14, 2003Filed: May 7, 2008Published: Sep 4, 2008
Est. expiryApr 14, 2023(expired)· nominal 20-yr term from priority
Y10S707/99942Y10S707/99943G06F 16/83G06F 16/30Y10S707/99933G06F 16/835
27
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A system and method for querying a stream of XML data in a single pass using standard XQuery expressions. The system comprises: an expression parser that receives a query and generates a parse tree; a SAX events API that receives the stream of XML data and generates a stream of SAX events; an evaluator that receives the parse tree and stream of SAX events and buffers fragments from the stream of SAX events that meet an evaluation criteria; and a tuple constructor that joins fragments to form a set of tuple results that satisfies the query for the stream of XML data.

Claims

exact text as granted — not AI-modified
1 . A system for querying a stream of mark-up language data, the system including at least one computer comprising:
 an expression parser that receives a query and generates a parse tree;   a system that receives the stream of mark-up language data and generates a stream of events;   an evaluator that receives the parse tree and stream of events, and buffers fragments from the stream of events that meet an evaluation criteria; and   a tuple constructor that joins fragments to form a set of tuple results that satisfies the query for the stream of mark-up language data.   
   
   
       2 . The system of  claim 1 , wherein the parse tree includes:
 a set of nodes corresponding to node tests in the query; and   edges corresponding to relationships between node tests in the query.   
   
   
       3 . The system of  claim 2 , wherein at least one of the nodes comprises an output node corresponding to a bound-out variable from the query. 
   
   
       4 . The system of  claim 2 , wherein at least one of the nodes comprises a set of predicate parse trees. 
   
   
       5 . The system of  claim 2 , wherein the evaluator includes a work array for storing evaluation data for the stream of events, wherein the evaluation data tracks matches between nodes and events. 
   
   
       6 . The system of  claim 5 , wherein the evaluator includes a set of output buffers to store fragments that meet the evaluation criteria. 
   
   
       7 . The system of  claim 5 , wherein the evaluator includes:
 a set of predicate buffers to store the content of nodes participating in predicate expressions; and   a predicate evaluation system for evaluating predicate expressions.   
   
   
       8 . The system of  claim 1 , wherein the tuple constructor provides a buffer queue for each variable specified in the query, and identifies correct tuples by processing a cross-product of the buffer queues. 
   
   
       9 . The system of  claim 1 , the at least one computer further comprising a buffer management system, wherein the buffer management system identifies conditions when buffers can be deleted. 
   
   
       10 . A program product stored on a tangible recordable medium for querying a stream of mark-up language data, wherein the program product comprises:
 parsing means for receiving a query and generating a parse tree;   means for receiving the stream of mark-up language data and generating a stream of events;   evaluating means for receiving the parse tree and stream of events, and for buffering fragments from the stream of events that meet an evaluation criteria; and   construction means for joining fragments to form a set of tuple results that satisfies the query for the stream of mark-up language data.   
   
   
       11 . The program product of  claim 10 , wherein the parse tree includes:
 a set of nodes corresponding to node tests in the query; and   edges corresponding to relationships between node tests in the query.   
   
   
       12 . The program product of  claim 11 , wherein at least one of the nodes comprises an output node corresponding to a bound-out variable from the query. 
   
   
       13 . The program product of  claim 11 , wherein at least one of the nodes comprises a set of predicate parse trees. 
   
   
       14 . The program product of  claim 11 , wherein the evaluating means includes a work array for storing evaluation data for the stream of events, wherein the evaluation data tracks matches between nodes and events 
   
   
       15 . The program product of  claim 14 , wherein the evaluating means includes a set of output buffers to store fragments that meet the evaluation criteria. 
   
   
       16 . The program product of  claim 14 , wherein the evaluating means includes:
 a set of predicate buffers to store the content of nodes participating in predicate expressions; and   predicate evaluation means for evaluating predicate expressions.   
   
   
       17 . The program product of  claim 10 , wherein the construction means provides a buffer queue for each bound-out variable specified in the query, and identifies correct tuples by processing a cross-product of the buffer queues. 
   
   
       18 . The program product of  claim 10 , further comprising buffer management means for identifying conditions when buffers can be deleted.

Join the waitlist — get patent alerts

Track US2008215559A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.