AtteanX::Parser::SPARQL(3) SPARQL 1.1 Parser.

VERSION

This document describes AtteanX::Parser::SPARQL version 0.017.

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.

BUGS

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

AUTHOR

Gregory Todd Williams "<[email protected]>"

COPYRIGHT

Copyright (c) 2014--2016 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.