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

# Attean::TermMap(3pm)

Mapping terms to new terms

## NAME

Attean::TermMap - Mapping terms to new terms

## VERSION

This document describes Attean::TermMap version 0.035

## SYNOPSIS

```
  use v5.14;
  use Attean;
  my $m = Attean::TermMap->short_blank_map;
  my $new_blank = $m->map( Attean::Blank->new('abcdefg') );
  say $new_blank->ntriples_string; # _:a
```

## DESCRIPTION

The Attean::TermMap class represents a one-way mapping process from and to Attean::API::Term objects. This mapping may rename the blank identifiers, skolemize nodes, or map the nodes in some other, custom way.

It conforms to the Attean::API::Mapper role.

## ATTRIBUTES

- "mapper"

  A CODE reference that will map Attean::API::Term objects to (possibly different) term objects.

## CLASS METHODS

- "canonicalization\_map"

  Returns a new Attean::TermMap that canonicalizes recognized typed Attean::API::Literal values.

- "uuid\_blank\_map"

  Returns a new Attean::TermMap that renames blank nodes with UUID values.

- "short\_blank\_map"

  Returns a new Attean::TermMap that renames blank nodes with short alphabetic names (e.g. \_:a, \_:b).

- rewrite\_map( \\%map )

  Given `%map` whose keys are term `"as_string"` serializations, and objects are Attean::API::Term objects, returns a new term map object that maps terms matching entries in `%map`, and all other terms to themselves.

## METHODS

- map( $term )

  Returns the term that is mapped to by the supplied `$term`.

- "binding\_mapper"

  Returns a mapping function reference that maps Attean::API::Binding objects by mapping their constituent mapped Attean::API::Term objects.

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