RDF::Query - A SPARQL/RDQL implementation for RDF::Redland and RDF::Core RDF::Query allows RDQL and SPARQL queries to be run against an RDF model, returning rows of matching results. REQUIREMENTS To install RDF::Query you'll need the following perl modules installed: * Parse::RecDescent * LWP::Simple * RDF::Core or RDF::Redland INSTALLATION To install, run: perl Makefile.PL make make test make install VERSION HISTORY Version 1.020 (2005-05-18) * Added support for SPARQL OPTIONAL graph patterns. * Calling bindings_count on a stream now returns 0 with no data. * Added Stream methods: + is_bindings + binding_name + binding_values + binding_names * Added as_xml method to Stream class for XML Binding Results format. Version 1.016 (2005-05-08) * 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. Version 1.015 (2005-05-03) * Fixes to the arguments passed to FILTERs. * Filter tests now show example of two custom filters: + Transitive subClassOf testing. + Logical comparison operators (range testing lat/lon values). * Added literal_value, uri_value, and blank_identifier methods to bridges. * Redland bridge now calls sources/arcs/targets when only one field is missing. * Fixes to stream code. Iterators are now destroyed in a timely manner. + Complex queries no longer max out mysql connections under Redland. * Cleaned up node sorting code. + Removed dependency on Sort::Naturally. + Added new node sorting function ncmp(). * check_constraints now calls ncmp() for logical comparisons. * Added get_value method to make bridge calls and return a scalar value. * Fixed node creation in Redland bridge. * Moved DISTINCT handling code to occur before LIMITing. * Added variables method to retrieve bound variable names. * Added binding_count and get_all methods to streams. * get_statments bridge methods now return RDF::Query::Stream objects. Version 1.014 (2005-04-26) * Made FILTERs work in SPARQL. * Added initial SPARQL support for custom function constraints. * SPARQL variables may now begin with the '$' sigil. * Added direction support for ORDER BY (ascending/descending). * Added 'next', 'current', and 'end' to Stream API. Version 1.012 (2005-04-24) * Stream objects now handle being constructed with an undef coderef. * 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(). * 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. * Updated tests. Version 1.010 (2005-04-21) * 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). * 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). + Added SPARQL support for DISTINCT and ORDER BY. * Moved model-specific code into RDF::Query::Model::*. * Moving over to redland's query API (pass in the model when query is executed). COPYRIGHT Copyright (C) 2005 Gregory Williams. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHOR Gregory Williams $Id: README,v 1.7 2005/05/18 23:18:34 greg Exp $