RDF::TRINE::PARSER::NOTATION3(3PM) - Linux man page online | Library functions
Notation 3 Parser.
Chapter
2013-09-18
RDF::Trine::Parser::Notation3(3User Contributed Perl DocumentatRDF::Trine::Parser::Notation3(3pm)
@cpan.org>"
Based on RDF::Trine::Parser::Turtle by Gregory Todd Williams.
perl v5.18.2 2013-09-18 RDF::Trine::Parser::Notation3(3pm)
NAME
RDF::Trine::Parser::Notation3 - Notation 3 ParserSYNOPSIS
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 "<