.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "RDF::Trine::Serializer::NTriples::Canonical 3pm" .TH RDF::Trine::Serializer::NTriples::Canonical 3pm "2014-10-24" "perl v5.20.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" RDF::Trine::Serializer::NTriples::Canonical \- Canonical representation of an RDF model .SH "VERSION" .IX Header "VERSION" This document describes RDF::Trine::Serializer::NTriples::Canonical version 1.011 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& use RDF::Trine::Serializer::NTriples::Canonical; \& my $serializer = RDF::Trine::Serializer::NTriples\->new( onfail=>\*(Aqtruncate\*(Aq ); \& $serializer\->serialize_model_to_file(FH, $model); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module produces a canonical string representation of an \s-1RDF\s0 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: .IP "\(bu" 8 truncate \- drop problematic triples and only serialize a subgraph. .IP "\(bu" 8 append \- append problematic triples to the end of graph. The result will be non-canonical. This is the default behaviour. .IP "\(bu" 8 space \- As with 'append', but leave a blank line separating the canonical and non-canonical portions of the graph. .IP "\(bu" 8 die \- cause a fatal error. .PP Other than the 'onfail' option, this package has exactly the same interface as RDF::Trine::Serializer::NTriples, providing \&\f(CW\*(C`serialize_model_to_file\*(C'\fR and \f(CW\*(C`serialize_model_to_string\*(C'\fR methods. .PP 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). .SH "METHODS" .IX Header "METHODS" Beyond the methods documented below, this class inherits methods from the RDF::Trine::Serializer::NTriples class. .ie n .IP """new ( [ onfail => $rule ] )""" 4 .el .IP "\f(CWnew ( [ onfail => $rule ] )\fR" 4 .IX Item "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 \*(L"\s-1DESCRIPTION\*(R"\s0 above. .ie n .IP """serialize_model_to_file ( $fh, $model )""" 4 .el .IP "\f(CWserialize_model_to_file ( $fh, $model )\fR" 4 .IX Item "serialize_model_to_file ( $fh, $model )" Serializes the \f(CW$model\fR to canonical NTriples, printing the results to the supplied filehandle \f(CW\*(C`<$fh\*(C'\fR>. .ie n .IP """serialize_model_to_string ( $model )""" 4 .el .IP "\f(CWserialize_model_to_string ( $model )\fR" 4 .IX Item "serialize_model_to_string ( $model )" Serializes the \f(CW$model\fR to canonical NTriples, returning the result as a string. .SH "BUGS" .IX Header "BUGS" Please report any bugs or feature requests to through the GitHub web interface at . .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fISigning \s-1RDF\s0 Graphs\fR, Jeremey J Carroll, Digital Media Systems Laboratory, \s-1HB\s0 Laboratories Bristol. \&\s-1HPL\-2003\-142, 23\s0 July 2003. . .PP RDF::Trine, RDF::Trine::Serializer::NTriples. .PP . .SH "AUTHOR" .IX Header "AUTHOR" Toby Inkster, .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (c) 2010 Toby Inkster .PP 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.