| RDF-Trine documentation | view source | Contained in the RDF-Trine distribution. |
new ( \@results, \@names, %args )new ( \&results, \@names, %args )materializeproject ( @columns )join_streams ( $stream, $stream )nested_loop_join ( $outer, $inner )sorted_bybinding_value_by_name ( $name )binding_value ( $i )binding_valuesbinding_namesbinding_name ( $i )bindings_countis_bindingsas_json ( $max_size )as_xml ( $max_size )as_string ( $max_size [, \$count] )as_statements ( @names )print_xml ( $fh, $max_size )construct_args
RDF::Trine::Iterator::Bindings - Stream (iterator) class for bindings query results
This document describes RDF::Trine::Iterator::Bindings version 0.135
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;
}
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.
materializeReturns 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_bybinding_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_valuesReturns a list of the binding values from the current result.
binding_namesReturns a list of the binding names.
binding_name ( $i )Returns the name of the $i-th result column.
bindings_countReturns the number of variable bindings in the current result.
is_bindingsReturns 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 )print_xml ( $fh, $max_size )Prints an XML serialization of the stream data to the filehandle $fh.
construct_argsReturns the arguments necessary to pass to the stream constructor _new to re-create this stream (assuming the same closure as the first argument).
Gregory Todd Williams <gwilliams@cpan.org>
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.
| RDF-Trine documentation | view source | Contained in the RDF-Trine distribution. |