Overview

NAME
    RDF::Trine::Serializer::NTriples::Canonical - Canonical representation of
    an RDF model

SYNOPSIS
      use RDF::Trine::Serializer::NTriples::Canonical;
      my $serializer = RDF::Trine::Serializer::NTriples->new( onfail=>'truncate' );
      $serializer->serialize_model_to_file(FH, $model);

DESCRIPTION
    This module produces a canonical string representation of an RDF graph. If
    the graph contains blank nodes, sometimes there is no canonical
    representation that can be produced. The 'onfail' option allows you to
    decide what is done in those circumstances:

    *       truncate - drop problematic triples and only serialize a subgraph.

    *       append - append problematic triples to the end of graph. The
            result will be non-canonical. This is the default behaviour.

    *       space - As with 'append', but leave a blank line separating the
            canonical and non-canonical portions of the graph.

    *       die - cause a fatal error.

    Other than the 'onfail' option, this package has exactly the same
    interface as RDF::Trine::Serializer::NTriples, providing
    "serialize_model_to_file" and "serialize_model_to_string" methods.

    This package will be considerably slower than the non-canonicalising
    serializer though, so should only be used for small to medium-sized
    graphs, and only when you need canonicalisation (e.g. for side-by-side
    comparison of two graphs to check they're isomorphic; or creating a
    canonical representation for digital signing).

BUGS
    Please report any bugs to <http://rt.cpan.org/>.

SEE ALSO
    *Signing RDF Graphs*, Jeremey J Carroll, Digital Media Systems Laboratory,
    HB Laboratories Bristol. HPL-2003-142, 23 July 2003.
    <http://www.hpl.hp.com/techreports/2003/HPL-2003-142.pdf>.

    RDF::Trine, RDF::Trine::Serializer::NTriples.

    <http://www.perlrdf.org/>.

AUTHOR
    Toby Inkster, <tobyink@cpan.org>

COPYRIGHT AND LICENSE
    Copyright (C) 2009 by Toby Inkster

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself, either Perl version 5.8.1 or, at your
    option, any later version of Perl 5 you may have available.