Provided by: librdf-trine-perl_0.138-1_all bug

NAME

       RDF::Trine::Iterator::Bindings - Stream (iterator) class for bindings query results

VERSION

       This document describes RDF::Trine::Iterator::Bindings version 0.138

SYNOPSIS

        use RDF::Trine::Iterator::Bindings;

        my $iterator = RDF::Trine::Iterator::Bindings->new( \&data, \@names );
        while (my $row = $iterator->next) {
          # $row is a HASHref containing variable name -> RDF Term bindings
          my @vars = keys %$row;
          print $row->{ 'var' }->as_string;
        }

METHODS

       Beyond the methods documented below, this class inherits methods from the
       RDF::Trine::Iterator class.

       "new ( \@results, \@names, %args )"
       "new ( \&results, \@names, %args )"
           Returns a new SPARQL Result interator object. Results must be either a reference to an
           array containing results or a CODE reference that acts as an iterator, returning
           successive items when called, and returning undef when the iterator is exhausted.

       "materialize"
           Returns a materialized version of the current binding iterator.

       "project ( @columns )"
           Returns a new stream that projects the current bindings to only the given columns.

       "join_streams ( $stream, $stream )"
           Performs a natural, nested loop join of the two streams, returning a new stream of
           joined results.

       "nested_loop_join ( $outer, $inner )"
           Performs a natural, nested loop join of the two streams, returning a new stream of
           joined results.

           Note that the values from the $inner iterator are fully materialized for this join,
           and the results of the join are in the order of values from the $outer iterator. This
           suggests that:

           * If sorting needs to be preserved, the $outer iterator should be used to determine
           the result ordering.

           * If one iterator is much smaller than the other, it should likely be used as the
           $inner iterator since materialization will require less total memory.

       "sorted_by"
       "binding_value_by_name ( $name )"
           Returns the binding of the named variable in the current result.

       "binding_value ( $i )"
           Returns the binding of the $i-th variable in the current result.

       "binding_values"
           Returns a list of the binding values from the current result.

       "binding_names"
           Returns a list of the binding names.

       "binding_name ( $i )"
           Returns the name of the $i-th result column.

       "bindings_count"
           Returns the number of variable bindings in the current result.

       "is_bindings"
           Returns true if the underlying result is a set of variable bindings.

       "as_json ( $max_size )"
           Returns a JSON serialization of the stream data.

       "as_xml ( $max_size )"
           Returns an XML serialization of the stream data.

       "as_string ( $max_size [, \$count] )"
           Returns a string table serialization of the stream data.

       "as_statements ( @names )"
           Returns a RDF::Trine::Iterator::Graph with the statements of the stream.

       "print_xml ( $fh, $max_size )"
           Prints an XML serialization of the stream data to the filehandle $fh.

       "construct_args"
           Returns the arguments necessary to pass to the stream constructor _new to re-create
           this stream (assuming the same closure as the first argument).

DEPENDENCIES

       JSON

       Scalar::Util

AUTHOR

       Gregory Todd Williams  "<gwilliams@cpan.org>"

COPYRIGHT

       Copyright (c) 2006-2010 Gregory Todd Williams. This program is free software; you can
       redistribute it and/or modify it under the same terms as Perl itself.