NAME

Attean::TermMap - Mapping terms to new terms

VERSION

This document describes Attean::TermMap version 0.023

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