NAME

Types::Attean - Type constraints for dealing with Attean classes

SYNOPSIS

TODO

package IRI::Counter {
  use Moo;  # or Moose
  use Types::Attean qw( AtteanIRI );

  has iri => (
    is => "ro",
    isa => AtteanIRI,
    required => 1,
  );

  sub count_uses_in_document { ... }
}

DESCRIPTION

Types::Attean is a type constraint library suitable for use with Moo/Moose attributes, Kavorka sub signatures, and so forth. It builds on Types::URI.

TYPES

AtteanIRI

A class type for Attean::IRI.

Can coerce from URI, IRI, URI::Namespace, RDF::Trine::Node::Resource, RDF::Trine::Namespace, XML::Namespace and strings.

Additionally, a ScalarRef can be coerced into a data URI.

AtteanBlank

A role type for Attean::API::Blank.

AtteanLiteral

A role type for Attean::API::Literal.

AtteanSubject

A role type for a term that can be used as a subject in a triple or quad (i.e., Attean::API::BlankOrIRI).

AtteanPredicate

A role type for a term that can be used as a predicate in a triple or quad (i.e., Attean::API::IRI).

AtteanObject

A role type for a term that can be used as an object in a triple or quad (i.e., Attean::API::Term).

AtteanGraph

A role type for a term that can be used as a graph in a quad (i.e., Attean::API::BlankOrIRI).

AtteanTriple

A role type for Attean::API::Triple.

AtteanQuad

A role type for Attean::API::Quad.

OTHER COERCIONS

This library can also coerce from Attean::IRI to the Namespace type defined in URI::Namespace.