ODO::Query::RDQL::DefaultHandler - Implementation of the generic query processing engine for RDQL




evalutate_query( )
 0. Get all statements in graph pattern and mark them as not done
 1. Sort query statements by priority
 2. Remove query statements already executed
 3. Generate list of queries based on current query triple
        i. Find variable with smallest result list
        ii. Create query triple with variable values substituted
 4. Execute queries in list
        i. Union results
        ii. Update each variable's result list
 5. Mark query statement as done


__do_query_list( $stmt_query, $query_list )
__get_neighbors( $stmt_match )
__make_key( $node1, [ $node2, [ $node3 ] ] )
__statement_weight( $stmt_query )
 Weight = number of variables + 1 if triple match has neighbors otherwise
 Weight = number of variables
__num_variables( $stmt_query )
 Counts the number of variables present in a triple match.
__prioritize_statements( \@statements )
 Sort the graph of L<ODO::Query::Simple> statements by the L<ODO::Query::Simple> object's
 'weight' . L<ODO::Query::Simple> object 'A' weighs more than L<ODO::Query::Simple> object 'B'
 iff the following is true:


Copyright (c) 2004-2006 IBM Corporation.

All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at