Attean
view release on metacpan or search on metacpan
lib/Attean/API/Model.pm view on Meta::CPAN
$ua->default_headers->push_header( 'Accept' => $accept );
foreach my $u (@urls) {
my $url = blessed($u) ? $u->value : $u;
my $resp = $ua->get($url);
if ($resp->is_success) {
my $ct = $resp->header('Content-Type');
my $pclass = Attean->get_parser( media_type => $ct, filename => $url ) // Attean->get_parser('ntriples');
if ($pclass) {
my $p = $pclass->new(base => iri($url));
my $str = $resp->decoded_content;
my $bytes = encode('UTF-8', $str, Encode::FB_CROAK);
my $iter = eval { $p->parse_iter_from_bytes( $bytes ) };
if ($@) {
die "Failed to parse URL $url: $@";
}
$self->add_iter($iter->as_quads($graph));
} else {
die "No parser found for content type $ct: $url";
}
} else {
lib/Attean/Plan.pm view on Meta::CPAN
my $ua = LWP::UserAgent->new();
my $silent = $self->silent;
my $accept = Attean->acceptable_parsers( handles => 'Attean::API::Triple' );
$ua->default_headers->push_header( 'Accept' => $accept );
return sub {
my $resp = $ua->get( $url );
if ($resp->is_success) {
my $ct = $resp->header('Content-Type');
if (my $pclass = Attean->get_parser( media_type => $ct )) {
my $p = $pclass->new();
my $str = $resp->decoded_content;
my $bytes = encode('UTF-8', $str, Encode::FB_CROAK);
my $iter = $p->parse_iter_from_bytes( $bytes );
return $iter;
}
}
if ($silent) {
return Attean::ListIterator->new(values => [], item_type => 'Attean::API::Triple');
} else {
die "Failed to load url: " . $resp->status_line;
lib/Attean/SPARQLClient.pm view on Meta::CPAN
}
if (not($pclass)) {
if ($silent) {
my $b = Attean::Result->new( bindings => {} );
return Attean::ListIterator->new(variables => [], values => [$b], item_type => 'Attean::API::Result');
} else {
die "No parser found for type [$type]";
}
}
my $parser = $pclass->new();
my $xml = $response->decoded_content;
my $bytes = encode('UTF-8', $xml, Encode::FB_CROAK);
return $parser->parse_iter_from_bytes($bytes);
} elsif ($silent) {
my $b = Attean::Result->new( bindings => {} );
return Attean::ListIterator->new(variables => [], values => [$b], item_type => 'Attean::API::Result');
} else {
die "SPARQL Protocol error: " . $response->status_line;
}
}
}
( run in 0.881 second using v1.01-cache-2.11-cpan-26ccb49234f )