---
name: "Attean::API::Binding"
section: "3pm"
platform: "linux"
package: "libattean-perl"
version: "0.035-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Attean::API::Binding"
---

# Attean::API::Binding(3pm)

Name to term bindings

## NAME

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

## VERSION

This document describes Attean::API::Binding version 0.035

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

- sameTerms( $other )

  - equals( $other )

  - "blanks"

  Returns all the values in this mapping (recursively, if any values are embedded bindings) that are blank nodes.

- "referenced\_variables"

  Returns a list of the names of any variable values that are referenced in this binding (recursively, if any values are embedded bindings).

- "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--2022 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
