Attean::API::Binding(3pm)

NAME
Attean::API::Binding - Name to term bindings

VERSION
This document describes Attean::API::Binding version 0.030

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, or "undef" 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.