$App::perlrdf::FileSpec::VERSION = '0.006';
}
use Moose;
use Moose::Util::TypeConstraints;
use JSON;
use PerlX::Maybe;
use RDF::Trine;
use URI;
use URI::file;
use namespace::clean;
class_type Path
=> 1,
);
sub DEFAULT_STREAM
{
warn "DEFAULT_STREAM is 'stdout:'\n";
return "stdout:";
}
sub _jsonish
{
my ($self, $str) = @_;
$str =~ s/(^\{)|(\}$)//g; # strip curlies
my $opts = {};
while
$name) = ($spec =~ m<^ (\{ .*? \}) (.+) $>x)
? ($1, $2)
: ('{}', $spec);
my $opts = $class->_jsonish($optstr);
$class->new(
'uri' => ($name eq '-' ? $class->DEFAULT_STREAM : $name),
es, URLs or streams to operate on.
FileSpecs have a two part syntax. They start with an optional JSON-like
options specification, and are followed by a (non-optional) file name, URL or
dash. Some exa
tp://www.example.com/data.rdf
{format:"Turtle",base:"http://www.example.net/"}-
The optional JSON-like part is a list of key-value pairs, where pairs are
separated with commas, and keys are seper
t, $args) = @_;
if (@$args)
{
require App::perlrdf::FileSpec;
say
App::perlrdf::FileSpec->new_from_filespec($_)->TO_JSON(1),
for @$args;
}
else
{
say $class->description;
}
}
1;