NAME

RDF::Query::Parser::SPARQL - A SPARQL parser for RDF::Query

METHODS

new ( $query_object )

Returns a new RDF::Query object.

REVISION HISTORY

$Log: SPARQL.pm,v $
Revision 1.12  2005/11/19 00:56:38  greg
- Added SPARQL functions: BOUND, isURI, isBLANK, isLITERAL.
- Updated SPARQL REGEX syntax.
- Updated SPARQL FILTER syntax.
- Added SPARQL RDF Collections syntactic forms.
- Updated SPARQL grammar to make 'WHERE' token optional.
- Added <commit> directives to SPARQL grammar.
- Updated SPARQL 'ORDER BY' syntax to use parenthesis.
- Fixed SPARQL FILTER logical-and support for more than two operands.
- Fixed SPARQL FILTER equality operator syntax to use '=' instead of '=='.

Revision 1.11  2005/07/27 00:35:59  greg
- Added commit directives to some top-level non-terminals.
- Started using the %item hash for more flexibility in parse rules.

Following SPARQL Draft 2005.07.21:
- ORDER BY arguments now use parenthesis.
- ORDER BY operand may now be a variable, expression, or function call.

Revision 1.10  2005/06/04 07:27:13  greg
- Added support for typed literals.
  - (Redland support for datatypes is currently broken, however.)

Revision 1.9  2005/06/02 19:36:22  greg
- Added missing OFFSET grammar rules.

Revision 1.8  2005/06/01 05:06:33  greg
- Added SPARQL UNION support.
- Broke OPTIONAL handling code off into a seperate method.
- Added new debugging code to trace errors in the twisty web of closures.

Revision 1.7  2005/05/18 23:05:53  greg
- Added support for SPARQL OPTIONAL graph patterns.
- Added binding_values and binding_names methods to Streams.

Revision 1.6  2005/05/08 08:26:09  greg
- Added initial support for SPARQL ASK, DESCRIBE and CONSTRUCT queries.
  - Added new test files for new query types.
- Added methods to bridge classes for creating statements and blank nodes.
- Added as_string method to bridge classes for getting string versions of nodes.
- Broke out triple fixup code into fixup_triple_bridge_variables().
- Updated FILTER test to use new Geo::Distance API.

Revision 1.5  2005/04/26 04:22:13  greg
- added constraints tests
- URIs in constraints are now part of the fixup
- parser is removed from the Redland bridge in DESTROY
- SPARQL FILTERs are now properly part of the triple patterns (within the braces)
- added FILTER tests

Revision 1.4  2005/04/26 02:54:40  greg
- added core support for custom function constraints support
- added initial SPARQL support for custom function constraints
- SPARQL variables may now begin with the '$' sigil
- broke out URL fixups into its own method
- added direction support for ORDER BY (ascending/descending)
- added 'next', 'current', and 'end' to Stream API

Revision 1.3  2005/04/25 00:59:29  greg
- streams are now objects usinig the Redland QueryResult API
- RDF namespace is now always available in queries
- row() now uses a stream when calling execute()
- check_constraints() now copies args for recursive calls (instead of pass-by-ref)
- added ORDER BY support to RDQL parser
- SPARQL constraints now properly use the 'FILTER' keyword
- SPARQL constraints can now use '&&' as an operator
- SPARQL namespace declaration is now optional

Revision 1.2  2005/04/21 05:24:54  greg
- execute now returns an iterator
- added core support for DISTINCT, LIMIT, OFFSET
- added initial core support for ORDER BY (only works on one column right now)
- added SPARQL support for DISTINCT and ORDER BY
- added stress test for large queries and sorting on local scutter model

Revision 1.1  2005/04/21 02:21:44  greg
- major changes (resurecting the project)
- broke out the query parser into it's own RDQL class
- added initial support for a SPARQL parser
  - added support for blank nodes
  - added lots of syntactic sugar (with blank nodes, multiple predicates and objects)
- moved model-specific code into RDF::Query::Model::*
- cleaned up the model-bridge code
- moving over to redland's query API (pass in the model when query is executed)

AUTHOR

Gregory Williams <gwilliams@cpan.org>