NAME¶
Attean - A Semantic Web Framework
VERSION¶
This document describes Attean version 0.002
SYNOPSIS¶
use v5.14;
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 $quads = $iter->as_quads(iri('http://graph-name/'));
$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;
}
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.
- "get_serializer( $NAME )"
- "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.
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.