NAME¶
AtteanX::Parser::SPARQL - SPARQL 1.1 Parser.
VERSION¶
This document describes AtteanX::Parser::SPARQL version 0.021.
SYNOPSIS¶
use AtteanX::Parser::SPARQL;
my $algbrea = AtteanX::Parser::SPARQL->parse($sparql, $base_uri);
# or:
my $parser = AtteanX::Parser::SPARQL->new();
my ($algebra) = $parser->parse_list_from_bytes($sparql, $base_uri);
# or to allow parsing of SPARQL 1.1 Updates:
my $algbrea = AtteanX::Parser::SPARQL->parse_update($sparql, $base_uri);
# or:
my $parser = AtteanX::Parser::SPARQL->new(update => 1);
my ($algebra) = $parser->parse_list_from_bytes($sparql, $base_uri);
DESCRIPTION¶
This module implements a recursive-descent parser for SPARQL 1.1 using the
AtteanX::Parser::SPARQLLex tokenizer. Successful parsing results in an object
whose type is one of: Attean::Algebra::Query, Attean::Algebra::Update, or
Attean::Algebra::Sequence.
ROLES¶
This class consumes Attean::API::Parser, Attean::API::AtOnceParser, and
Attean::API::AbbreviatingParser.
ATTRIBUTES¶
- "canonical_media_type"
- "media_types"
- "file_extensions"
- "handled_type"
- "lexer"
- "args"
- "build"
- "update"
- "namespaces"
- "baseURI"
- "filters"
METHODS¶
- "parse ( $sparql )"
- Parse the $sparql query string and return the
resulting Attean::API::Algebra object.
- "parse_update ( $sparql )"
- Parse the $sparql update string and return the
resulting Attean::API::Algebra object.
- "parse_list_from_io( $fh )"
- "parse_list_from_bytes( $bytes )"
- "parse_nodes ( $string )"
- Returns a list of Attean::API::Term or Attean::API::Variable objects,
parsed in SPARQL syntax from the supplied $string.
Parsing is ended either upon seeing a DOT, or reaching the end of the
string.
- "error"
- Returns the error encountered during the last parse.
- "new_binary_expression ( $operator, @operands )"
- Returns a new binary expression structure.
- "new_function_expression ( $function, @operands )"
- Returns a new function expression structure.
AUTHOR¶
Gregory Todd Williams
"<gwilliams@cpan.org>"
COPYRIGHT¶
Copyright (c) 2014--2018 Gregory Todd Williams. This program is free software;
you can redistribute it and/or modify it under the same terms as Perl itself.