#!/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, '<:utf8', $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;