RDF::Trine::VariableBindings(3pm)

NAME
RDF::Trine::VariableBindings - Variable bindings

VERSION
This document describes RDF::Trine::VariableBindings version 1.019

SYNOPSIS
  use RDF::Trine qw(literal);
  use RDF::Trine::VariableBindings;
  my $vb = RDF::Trine::VariableBindings->new( {} );
  $vb->set( foo => literal("bar") );
  $vb->set( baz => literal("blee") );
  $vb->variables; # qw(foo baz)

  my $x = RDF::Trine::VariableBindings->new( { foo => literal("bar") } );
  $x->set( greeting => literal("hello") );

  my $j = $vb->join( $x ); # { foo => "bar", baz => "blee", greeting => "hello" }

  my @keys = qw(baz greeting);
  my $p = $j->project( @keys ); # { baz => "blee", greeting => "hello" }
  print $p->{greeting}->literal_value; # "hello"

DESCRIPTION
RDF::Trine::VariableBindings objects provide a mapping from variable names to RDF::Trine::Node objects. The objects may be used as a hash reference, with variable names used as hash keys.

METHODS

"new ( \%bindings )"
"set ( $variable_name => $node )"
"join ( $row )"
    Returns a new VariableBindings object based on the join of this object and $row. If the two variable binding objects cannot be joined, returns undef.

"variables"
"project ( @keys )"
    Returns a new binding with values for only the keys listed.

"as_string"
    Returns a string representation of the variable bindings.

"label ( $label => $value )"
    Sets the named $label to $value for this variable bindings object. If no $value is given, returns the current label value, or undef if none exists.

"copy_labels_from ( $vb )"
    Copies the labels from $vb, adding them to the labels for this object.

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.