The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl

use strict;
use warnings;
no warnings 'redefine';
use File::Spec;
use lib qw(lib);
use Data::Dumper;
use FindBin qw($Bin);
use LWP::Simple qw(get);

use RDF::Trine::Model;
use RDF::Trine::Store::DBI;
use RDF::Trine::Parser::RDFXML;
use RDF::Trine::Serializer::NTriples;

my $url		= shift;
my $data;
if ($url =~ m#^http://#) {
	$data	= get($url);
} else {
	my $file	= File::Spec->rel2abs( $url );
	$data	= do {
					open( my $fh, '<:encoding(UTF-8)', $file );
					local($/) = undef;
					<$fh>
				};
	$url		= 'file://' . $file;
}

my $model	= RDF::Trine::Model->new( RDF::Trine::Store::DBI->temporary_store );
my $parser	= RDF::Trine::Parser::RDFXML->new( BNodePrefix => 'genid' );
$parser->parse_into_model( $url, $data, $model );

my $s		= RDF::Trine::Serializer::NTriples->new();
my $nt		=  $s->serialize_model_to_string( $model );
print $nt;