bionic (3) RDF::Trine::Iterator.3pm.gz

Provided by: librdf-trine-perl_1.019-1_all bug

NAME

       RDF::Trine::Iterator - Iterator class for SPARQL query results

VERSION

       This document describes RDF::Trine::Iterator version 1.019.

SYNOPSIS

           use RDF::Trine::Iterator;
           my $iterator = RDF::Trine::Iterator->new( \&data, 'bindings', \@names );
           while (my $row = $iterator->next) {
               my @vars        = keys %$row;
               # do something with @vars
           }

METHODS

       "new ( \@results, $type, \@names, %args )"
       "new ( \&results, $type, \@names, %args )"
           Returns a new SPARQL Result interator object. Results must be either an 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.

           $type should be one of: bindings, boolean, graph.

       "type"
           Returns the underlying result type (boolean, graph, bindings).

       "is_boolean"
           Returns true if the underlying result is a boolean value.

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

       "is_graph"
           Returns true if the underlying result is an RDF graph.

       "to_string ( $format )"
           Returns a string representation of the stream data in the specified $format. If $format is missing,
           defaults to XML serialization.  Other options are:

             http://www.w3.org/2001/sw/DataAccess/json-sparql/

       "from_string ( $xml )"
           Returns a new iterator using the supplied XML string in the SPARQL XML Results format.

       "from_bytes ( $xml )"
           Returns a new iterator using the supplied XML byte sequence (note: not character data) in the SPARQL
           XML Results format.

       "from_json ( $json )"
       "next_result"
       "next"
           Returns the next item in the stream.

       "peek"
           Returns the next value from the iterator without consuming it. The value will remain in queue until
           the next call to "next".

       "current"
           Returns the current item in the stream.

       "end"
       "finished"
           Returns true if the end of the stream has been reached, false otherwise.

       "open"
           Returns true if the first element of the stream has been retrieved, false otherwise.

       "close"
           Closes the stream. Future attempts to retrieve data from the stream will act as if the stream had
           been exhausted.

       "concat ( $stream )"
           Returns a new stream resulting from the concatenation of the referant and the argument streams. The
           new stream uses the stream type, and optional binding names and "<%args"> from the referant stream.

       "seen_count"
           Returns the count of elements that have been returned by this iterator at the point of invocation.

       "get_boolean"
           Returns the boolean value of the first item in the stream.

       "get_all"
           Returns an array containing all the items in the stream.

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

       "each ( \&callback )"
           Calls the callback function once for each item in the iterator, passing the item as an argument to
           the function. Any arguments to "each" beyond the callback function will be passed as supplemental
           arguments to the callback function.

FUNCTIONS

       "sgrep { COND } $stream"
       "smap { EXPR } $stream"
       "swatch { EXPR } $stream"

DEPENDENCIES

       JSON

       Scalar::Util

       XML::SAX

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 (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.