Attean::TermMap(3) Mapping terms to new terms

VERSION

This document describes Attean::TermMap version 0.017

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

AUTHOR

Gregory Todd Williams "<[email protected]>"

COPYRIGHT

Copyright (c) 2014--2016 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.