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


       RDF::Trine::VariableBindings - Variable bindings


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


         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"


       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.


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

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

           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.


       Please report any bugs or feature requests to through the GitHub web interface at


        Gregory Todd Williams <>


       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.