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

NAME

       Attean - A Semantic Web Framework

VERSION

       This document describes Attean version 0.033

SYNOPSIS

         use Attean;
         use Attean::RDF qw(iri);

         my $store = Attean->get_store('Memory')->new();
         my $parser = Attean->get_parser('NTriples')->new();

         # iterator of triples and quads
         my $iter = $parser->parse_iter_from_io(\*STDIN);

         # add a graph name to all triples
         my $graph = iri('http://graph-name/');
         my $quads = $iter->as_quads($graph);

         $store->add_iter($quads);
         my $model = Attean::QuadModel->new( store => $store );
         my $iter = $model->get_quads();
         while (my $quad = $iter->next) {
           say $quad->object->ntriples_string;
         }

         # run a SPARQL query and iterate over the results
         my $sparql = 'SELECT * WHERE { ?s ?p ?o }';
         my $s = Attean->get_parser('SPARQL')->new();
         my ($algebra) = $s->parse($sparql);
         my $results = $model->evaluate($algebra, $graph);
         while (my $r = $results->next) {
           say $r->as_string;
         }

DESCRIPTION

       Attean provides APIs for parsing, storing, querying, and serializing Semantic Web (RDF and SPARQL) data.

METHODS

       "get_store( $NAME )"
           Attempts  to  find  a  Attean::API::Store  implementation  with  the  given $NAME. This is done using
           Module::Pluggable and will generally be searching for class names "AtteanX::Store::$NAME".

           Returns the full class name if a matching implementation is found, otherwise returns undef.

       "temporary_model"
           Returns a temporary, mutable quad model based on a AtteanX::Store::Memory store.

       "get_serializer( $NAME )"
       "get_serializer( filename => $FILENAME )"
       "get_serializer( media_type => $MEDIA_TYPE )"
           Attempts to find a Attean::API::Serializer serializer  class  with  the  given  $NAME,  or  that  can
           serialize files with the $MEDIA_TYPE media type.

           Returns the full class name if a matching implementation is found, otherwise returns undef.

       "get_parser( $NAME )"
       "get_parser( filename => $FILENAME )"
       "get_parser( media_type => $MEDIA_TYPE )"
           Attempts  to  find  a  Attean::API::Parser parser class with the given $NAME, or that can parse files
           with the same extension as $FILENAME, or that can parse files with the $MEDIA_TYPE media type.

           Returns the full class name if a matching implementation is found, otherwise returns undef.

       "negotiate_serializer ( request_headers => $request_headers, restrict => \@serializer_names, extend =>
       \%media_types )"
           Returns a two-element list containing an appropriate media type and Attean::API::Serializer class  as
           decided  by HTTP::Negotiate.  If the 'request_headers' key-value is supplied, the $request_headers is
           passed to "HTTP::Negotiate::choose".  The option 'restrict', set to a list of serializer  names,  can
           be  used  to  limit  the serializers to choose from.  Finally, an "<'extend'"> option can be set to a
           hashref that contains MIME-types as keys and a custom variant as value. This will enable the user  to
           use  this  negotiator  to return a type that isn't supported by any serializers.  The subsequent code
           will have to find out how to return a representation.

       "acceptable_parsers ( handles => $item_role, prefer => $parser_role )"
           Returns a string value expressing the media types that are acceptable to the parsers available to the
           system. This string may be used as an 'Accept' HTTP header value.

           If a "handles" role is supplied, only parsers that produce objects that conform to $item_role will be
           included.

           If a "prefer" role is supplied, only parsers that conform to $parser_role will be included.

           Parsers are given a quality-value (expressing a preferred order or  use)  based  on  the  roles  each
           parser  consumes.  Parsers  consuming  Attean::API::PullParser  are  preferred, while those consuming
           Attean::API::AtOnceParser are not preferred. An exact  ordering  between  parsers  consuming  similar
           roles is currently undefined.

       "register_global_function( %uri_to_func )"
       "get_global_function( $uri )"
       "register_global_aggregate( %uri_to_hash )"
       "get_global_aggregate( $uri )"

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--2022 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.36.0                                       2022-10-06                                        Attean(3pm)