Provided by: libattean-perl_0.019-1_all bug

NAME

       Attean::API::Model - RDF Model

VERSION

       This document describes Attean::API::Model version 0.019

DESCRIPTION

       The Attean::API::Model role defines a common API for all RDF models to conform to. It is provides a
       consistent interface for probing, counting, and retrieving Attean::API::Quads matching a pattern, as well
       as related functionality such as enumerating the graph names, and extracting structured data from the
       models' quads.

REQUIRED METHODS

       The following methods are required by the Attean::API::Model role:

       "get_quads( $subject, $predicate, $object, $graph )"
           Returns an Attean::API::Iterator for quads in the model that match the supplied $subject, $predicate,
           $object, and $graph.

           Any of these terms may be:

           * An Attean::API::Term object, in which case matching is equality-based

           * A Attean::API::Variable object or "undef", in which case that term will be considered as a wildcard
           for the purposes of matching

           *  An ARRAY reference of Attean::API::Term objects, in which case the matching will be equality-based
           on the disjunction of the supplied terms

           The returned iterator conforms to both Attean::API::Iterator and Attean::API::QuadIterator.

       "count_quads( $subject, $predicate, $object, $graph )"
           Returns the number of quads in the model matching the  supplied  pattern  (using  the  same  matching
           semantics as "get_quads").

       "get_graphs"
           Returns  an  Attean::API::Iterator  of  distinct Attean::API::Term objects that are used in the graph
           position of quads in the model.

METHODS

       The Attean::API::Model role provides default implementations of the following methods:

       "get_bindings( $subject, $predicate, $object, $graph )"
           Returns an Attean::API::Iterator of Attean::API::Result objects corresponding to quads in  the  model
           matching  the supplied pattern. For each Attean::API::Variable in the pattern list, a mapping will be
           present in the corresponding result object. For example, "$model->get_bindings( variable('s') )" will
           return an iterator of results containing just a mapping from 's' to subjects  of  all  quads  in  the
           model.

       "get_list( $graph, $head )"
           Returns  an  Attean::API::Iterator of Attean::API::Term objects that are members of the rdf:List with
           the specified $head (and matching restricted to only the specified $graph).

       "get_sequence( $graph, $head )"
           Returns an Attean::API::Iterator of Attean::API::Term objects that are members  of  the  rdf:Sequence
           with the specified $head (and matching restricted to only the specified $graph).

       "subjects( $predicate, $object, $graph )"
           Returns  an  Attean::API::Iterator of Attean::API::Term objects of all subjects of quads matching the
           supplied pattern (using the same matching semantics as "get_quads").

       "predicates( $subject, $object, $graph )"
           Returns an Attean::API::Iterator of Attean::API::Term objects of all predicates of quads matching the
           supplied pattern (using the same matching semantics as "get_quads" with an "undef" predicate).

       "objects( $subject, $predicate, $graph )"
           Returns an Attean::API::Iterator of Attean::API::Term objects of all objects of  quads  matching  the
           supplied pattern (using the same matching semantics as "get_quads" with an "undef" object).

       "graphs( $subject, $predicate, $object )"
           Returns  an  Attean::API::Iterator  of  Attean::API::Term objects of all graphs of quads matching the
           supplied pattern (using the same matching semantics as "get_quads" with an "undef" graph).

       "graph_nodes( $graph )"
           Returns an Attean::API::Iterator of Attean::API::Term objects of unique subjects and objects  present
           in the specified $graph.

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

perl v5.26.1                                       2018-02-12                            Attean::API::Model(3pm)