logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Toby Inkster, <tobyink@cpan.org>

Bugs

       Please  report  any   bugs   or   feature   requests   to   through   the   GitHub   web   interface   at
       <https://github.com/kasei/perlrdf/issues>.

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).

Methods

       Beyond     the     methods    documented    below,    this    class    inherits    methods    from    the
       RDF::Trine::Serializer::NTriples class.

       "new ( [ onfail => $rule ] )"
           Returns a new Canonical N-Triples serializer object. If specified, the value of the 'onfail' argument
           dictates the handling of blank nodes with no canonical representation. The allowable rule values  are
           'truncate',   'append',   'space',  and  'die',  and  their  respective  behaviour  is  described  in
           "DESCRIPTION" above.

       "serialize_model_to_file ( $fh, $model )"
           Serializes the $model to canonical NTriples, printing the results to the supplied filehandle "<$fh">.

       "serialize_model_to_string ( $model )"
           Serializes the $model to canonical NTriples, returning the result as a string.

Name

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

See Also

SigningRDFGraphs,  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/>.

Synopsis

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

Version

       This document describes RDF::Trine::Serializer::NTriples::Canonical version 1.019

See Also