AtteanX-Endpoint
view release on metacpan or search on metacpan
lib/AtteanX/Endpoint.pm view on Meta::CPAN
my $class = shift;
my @params = @_;
my %args;
if (blessed($params[0]) and $params[0]->does('Attean::API::Model')) {
# ->new( $model, \%conf )
$args{ model } = shift @params;
$args{ conf } = shift @params;
$args{ graph } = Attean::IRI->new('http://example.org/graph');
} elsif (any { blessed($_) && $_->does('Attean::API::Model') } @params) {
# Assume the buildargs can be taken directly
return $class->SUPER::BUILDARGS(@params);
} else {
# ->new( \%conf )
my $conf = shift @params;
my $store_conf = $conf->{store};
my ($name, $file) = split(';', $store_conf, 2);
my $sclass = Attean->get_store($name)->new();
my $store = $sclass->new();
my $model = Attean::MutableQuadModel->new( store => $store );
my $graph = Attean::IRI->new('http://example.org/graph');
lib/AtteanX/Endpoint.pm view on Meta::CPAN
my $iter = $parser->parse_iter_from_io($fh);
my $quads = $iter->as_quads($graph);
$model->add_iter($quads);
}
$args{ model } = $model;
$args{ conf } = $conf;
$args{ graph } = $graph;
}
return $class->SUPER::BUILDARGS(%args);
}
=item C<< run ( $request ) >>
Run the SPARQL request contained in the given C<< $request >> object and return
a response object.
=cut
sub run {
( run in 0.242 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )