Provided by: librdf-trine-perl_1.007-2_all bug

NAME

       RDF::Trine::Iterator::Bindings - Iterator class for bindings query results

VERSION

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

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.  The materialization
           process will leave this iterator empty. The materialized iterator that is returned
           should be used for any future need for the iterator's data.

       "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

BUGS

       Please report any bugs or feature requests to through the GitHub web interface at
       <https://github.com/kasei/perlrdf/issues>.

AUTHOR

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

COPYRIGHT

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