| RDF-Query documentation | Contained in the RDF-Query distribution. |
RDF::Query::Algebra::SubSelect - Algebra class for Subselects
This document describes RDF::Query::Algebra::SubSelect version 2.907.
Beyond the methods documented below, this class inherits methods from the RDF::Query::Algebra class.
new ( $query )Returns a new SubSelect structure.
construct_argsReturns a list of arguments that, passed to this class' constructor, will produce a clone of this algebra pattern.
queryReturns the sub-select query.
sseReturns the SSE string for this algebra expression.
as_sparqlReturns the SPARQL string for this algebra expression.
as_hashReturns the query as a nested set of plain data structures (no objects).
typeReturns the type of this algebra expression.
referenced_variablesReturns a list of the variable names used in this algebra expression.
potentially_boundReturns a list of the variable names used in this algebra expression that will bind values during execution.
definite_variablesReturns a list of the variable names that will be bound after evaluating this algebra expression.
Gregory Todd Williams <gwilliams@cpan.org>
| RDF-Query documentation | Contained in the RDF-Query distribution. |
# RDF::Query::Algebra::SubSelect # -----------------------------------------------------------------------------
package RDF::Query::Algebra::SubSelect; use strict; use warnings; use base qw(RDF::Query::Algebra); use Log::Log4perl; use URI::Escape; use MIME::Base64; use Data::Dumper; use RDF::Query::Error; use Carp qw(carp croak confess); use Scalar::Util qw(blessed reftype); use Storable qw(store_fd fd_retrieve); use RDF::Trine::Iterator qw(sgrep smap swatch); ###################################################################### our ($VERSION, $BLOOM_FILTER_ERROR_RATE); BEGIN { $BLOOM_FILTER_ERROR_RATE = 0.1; $VERSION = '2.907'; } ######################################################################
sub new { my $class = shift; my $query = shift; return bless( [ $query ], $class ); }
sub construct_args { my $self = shift; return ($self->query); }
sub query { my $self = shift; if (@_) { my $query = shift; $self->[0] = $query; } my $query = $self->[0]; return $query; }
sub sse { my $self = shift; my $context = shift; my $prefix = shift || ''; my $indent = $context->{indent}; return $self->query->sse( $context ); }
sub as_sparql { my $self = shift; my $context = shift; my $indent = shift; my $string = sprintf( "{ %s }", $self->query->as_sparql( $context, $indent ), ); return $string; }
sub as_hash { my $self = shift; my $context = shift; return { type => lc($self->type), pattern => $self->query->as_hash, }; }
sub type { return 'SUBSELECT'; }
sub referenced_variables { my $self = shift; my @list = $self->query->pattern->referenced_variables; return @list; }
sub potentially_bound { my $self = shift; return $self->query->pattern->potentially_bound; }
sub definite_variables { my $self = shift; return $self->query->pattern->definite_variables; } 1; __END__