---
name: "AtteanX::Parser::SPARQL"
section: "3pm"
platform: "linux"
package: "libattean-perl"
version: "0.035-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AtteanX::Parser::SPARQL"
---

# AtteanX::Parser::SPARQL(3pm)

SPARQL 1.1 Parser.

## NAME

AtteanX::Parser::SPARQL - SPARQL 1.1 Parser.

## VERSION

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

## SYNOPSIS

```
 use AtteanX::Parser::SPARQL;
 my $algbrea = AtteanX::Parser::SPARQL->parse($sparql);
 # or:
 my $parser     = AtteanX::Parser::SPARQL->new();
 my ($algebra) = $parser->parse_list_from_bytes($sparql);

 # or to allow parsing of SPARQL 1.1 Updates:

 my $algbrea = AtteanX::Parser::SPARQL->parse_update($sparql);
 # or:
 my $parser = AtteanX::Parser::SPARQL->new(update => 1);
 my ($algebra) = $parser->parse_list_from_bytes($sparql);
```

## 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"

  - "blank\_nodes"

  - "has\_blank\_nodes\_map"

  ## 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\>.

## SEE ALSO

## AUTHOR

Gregory Todd Williams  `"<gwilliams@cpan.org>"`

## COPYRIGHT

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