NAME¶
Attean::API::MutableModel - Role representing mutable models
VERSION¶
This document describes Attean::API::MutableModel version 0.002
SYNOPSIS¶
use v5.14;
use Attean;
DESCRIPTION¶
This is a Moo role that mutable models consume. It defines the required methods
for updating data, and provides default functionality.
ROLES¶
This role consumes the Attean::API::Model role.
REQUIRED METHODS¶
Classes consuming this role must provide the following methods:
- "add_quad( $quad )"
- Adds the Attean::API::Quad $quad to the model.
- "remove_quad( $quad )"
- Removes the Attean::API::Quad $quad from the model.
- "create_graph( $graph )"
- Creates a new, empty graph in the model with the Attean::API::BlankOrIRI
identifier $graph. If the model does not support empty graphs, this
operation may be a no-op.
- "drop_graph( $graph )"
- Removes the graph in the model with the Attean::API::BlankOrIRI identifier
$graph.
- "clear_graph( $graph )"
- Removes all quads that belong to the graph in the model with the
Attean::API::BlankOrIRI identifier $graph. If the model does not support
empty graphs, this operation may be an alias for "drop_graph( $graph
)".
METHODS¶
This role provides default implementations of the following methods:
- "load_triples( $format, $graph => $data )"
- Parses the serialized triples contained in the string $data using the
$format parser (see "get_parser" in Attean). Triples resulting
from parsing are turned into quads using the $graph identifier, and added
to the model.
- "add_iter( $iter )"
- Adds all the quads from the Attean::API::QuadIterator $iter to the
model.
- "add_list( $graph, @elements )"
- Adds an rdf:List encoded list of @elements to the model in the $graph.
Returns the Attean::API::Blank head of the list.
BUGS¶
Please report any bugs or feature requests to through the GitHub web interface
at <
https://github.com/kasei/attean/issues>.
SEE ALSO¶
<
http://www.perlrdf.org/>
AUTHOR¶
Gregory Todd Williams "<gwilliams@cpan.org>"
COPYRIGHT¶
Copyright (c) 2014 Gregory Todd Williams. This program is free software; you can
redistribute it and/or modify it under the same terms as Perl itself.