bionic (3) RDF::Trine::Parser::Notation3.3pm.gz

Provided by: librdf-trin3-perl_0.206-2_all bug

NAME

       RDF::Trine::Parser::Notation3 - Notation 3 Parser

SYNOPSIS

        use RDF::Trine::Parser;
        my $parser     = RDF::Trine::Parser->new( 'Notation3' );
        $parser->parse_into_model( $base_uri, $data, $model );

DESCRIPTION

       This module provides a Notation 3 parser for RDF::Trine.

   Methods
       This package exposes the standard RDF::Trine::Parser methods, plus:

       "forAll($handler)"
           Sets a callback handler for @forAll directives found in the top-level graph. (@forAll found in nested
           formulae will not be passed to this callback.)

           The handler should be a coderef that takes a single argument: an RDF::Trine::Node::Resource.

           If you do not set a handler, a warning will be issued when this directive are encountered in the top
           level graph, but parsing will continue.

       "forSome($handler)"
           As "forAll" but handles @forSome directives.

       "parse_formula($base, $input)"
           Returns an RDF::Trine::Node::Formula object representing the Notation 3 formula given as $input.
           $input should not include the "{"..."}" wrappers.

   Datatype Callbacks
       The constructor accepts a hashref of callbacks associated with datatypes, which will be triggered after a
       literal has been parsed with that datatype.  Let's imagine that you want to replace all xsd:integer
       literals with URIs like "http:;//example.net/numbers/123"...

        my $parser = RDF::Trine::Parser::Notation3->new(
          datatype_callback => {
            'http://www.w3.org/2001/XMLSchema#integer' => sub {
              my ($lit, $tr_hnd) = @_;
              return RDF::Trine::Node::Resource->new(
                'http:;//example.net/numbers/' . $lit->literal_value
              );
            },
          },
        );

       Note the second argument passed to the callback $tr_hnd. We don't use it here, but it's a coderef that
       can be called with RDF::Trine::Statement objects to add additional triples to the graph being parsed.

       This facility, combined with shortcuts from RDF::Trine::Parser::ShorthandRDF is pretty useful for
       creating domain-specific languages.

BUGS

       Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=RDF-TriN3>.

SEE ALSO

       RDF::Trine::Parser::NTriples, RDF::Trine::Parser::Turtle, RDF::Trine::Parser::ShorthandRDF.

AUTHOR

       Toby Inkster  "<tobyink@cpan.org>"

       Based on RDF::Trine::Parser::Turtle by Gregory Todd Williams.

       Copyright (c) 2006-2010 Gregory Todd Williams.

       Copyright (c) 2010-2012 Toby Inkster.

       This library is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.

DISCLAIMER OF WARRANTIES

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.