File Coverage

blib/lib/Web/Solid/Auth/Util.pm
Criterion Covered Total %
statement 9 26 34.6
branch 0 2 0.0
condition n/a
subroutine 3 5 60.0
pod 0 2 0.0
total 12 35 34.2


line stmt bran cond sub pod time code
1             package Web::Solid::Auth::Util;
2              
3 1     1   8 use Moo;
  1         3  
  1         7  
4 1     1   1552 use Attean;
  1         1901748  
  1         5  
5 1     1   59 use Attean::RDF qw(iri);
  1         3  
  1         7  
6              
7             our $GNAME = 'http://graph-name/';
8              
9             sub parse_turtle {
10 0     0 0   my ($self, $turtle) = @_;
11              
12 0           my $store = Attean->get_store('Memory')->new();
13 0           my $parser = Attean->get_parser('Turtle')->new();
14            
15 0           my $iter = $parser->parse_iter_from_bytes($turtle);
16              
17 0 0         return undef unless $iter;
18              
19 0           my $graph = iri($GNAME);
20 0           my $quads = $iter->as_quads($graph);
21              
22 0           $store->add_iter($quads);
23              
24 0           my $model = Attean::QuadModel->new( store => $store );
25              
26 0           return $model;
27             }
28              
29             sub sparql {
30 0     0 0   my ($self, $model, $sparql, $cb) = @_;
31              
32 0           my $s = Attean->get_parser('SPARQL')->new();
33 0           my ($algebra) = $s->parse($sparql);
34 0           my $graph = iri($GNAME);
35 0           my $results = $model->evaluate($algebra, $graph);
36              
37 0           while (my $r = $results->next) {
38 0           $cb->($r);
39             }
40             }
41              
42             1;