NAME
Attean::API::Binding - Name to term bindings
VERSION
This document describes Attean::API::Binding version 0.028
DESCRIPTION
The Attean::API::Binding role defines a common API for all objects that map names to Attean::API::Term objects. This includes triples, quads, and SPARQL results (variable bindings).
REQUIRED METHODS
Classes consuming this role must provide the following methods:
value( $name )
-
Returns the Attean::API::Term object mapped to the variable named
$name
, orundef
if no such term is mapped. variables
-
Returns a list of the variable names mapped to Attean::API::Term objects in this mapping.
apply_map( $mapper )
-
Returns a new mapping object (of the same class as the referent) with term objects rewritten using the supplied Attean::Mapper object
$mapper
.
METHODS
This role provides default implementations of the following methods:
mapping
-
Returns a HASH mapping variable names to Attean::API::Term objects.
values
-
Returns a list of Attean::API::Term objects corresponding to the variable names returned by the referent's
variables
method. tuples_string
-
Returns a string serialization of the Attean::API::Term objects in the order they are returned by the referent's
values
method. as_string
-
Returns a string serialization of the variable bindings.
has_blanks
-
Returns true if any variable is bound to an Attean::API::Blank term, false otherwise.
is_ground
-
Returns tue is all the bound values consume Attean::API::Term, false otherwise.
values_consuming_role( $role )
-
Returns the list of bound values that consume
$role
. tree_attributes
-
Returns the variables which are bound in this object.
apply_bindings( $binding )
-
Construct a new binding by replacing variables with their bound values from
$binding
. parse ( $string )
-
Returns a triple or quad pattern object using the variables and/or terms parsed from
$string
in SPARQL syntax. project( @keys )
-
Returns a new Attean::Result binding which contains variable-value mappings from the invocant for every variable name in
@keys
.
BUGS
Please report any bugs or feature requests to through the GitHub web interface at https://github.com/kasei/attean/issues.
SEE ALSO
AUTHOR
Gregory Todd Williams <gwilliams@cpan.org>
COPYRIGHT
Copyright (c) 2014--2020 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.