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

# Types::Attean(3pm)

Type constraints for dealing with Attean classes

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