RDF::Trine - An RDF Framework for Perl. RDF::Trine provides an RDF framework with an emphasis on extensibility, API stability, and the presence of a test suite. The package consists of several components: * RDF::Trine::Model - RDF model providing access to a triple store. * RDF::Trine::Parser - Native RDF parsers (currently for Turtle only). * RDF::Trine::Store::DBI - A triple store for MySQL and SQLite, based on the Redland schema. * RDF::Trine::Iterator - Iterator classes for variable bindings and RDF statements, used by RDF::Trine::Store, RDF::Trine::Model, and RDF::Query. * RDF::Trine::Namespace - A convenience class for easily constructing RDF node objects from URI namespaces. REQUIREMENTS To install RDF::Trine you'll need the following perl modules installed: * DBI * DBD::SQLite * Digest::MD5 * Error * JSON * LWP::UserAgent * List::MoreUtils * List::Util * Scalar::Util * Unicode::Escape * URI * XML::CommonNS * XML::Namespace * XML::Twig The following additional modules are optional: * DBD::Mysql * Test::More * Test::JSON * Test::Exception INSTALLATION To install, run: perl Makefile.PL make make test make install VERSION HISTORY Version 0.106 (2008-04-19) * Added a mysql-specific RDF::Trine::Store class (now uses INSERT IGNORE for efficiency). * SQL compiler now doesn't select statement contexts unless called via get_statements (not get_pattern). * RDF::Trine::Iterator::Graph::as_bindings now can be called with no arguments (uses default names). * Moved the nested hash join from ::Iterator to ::Iterator::Bindings. * Added new tests to improve coverage of node and iterator classes. * Added tests for binding iterator cartesian product join. * Pipelined the code for nested loop joins on binding iterators. * Added SPARQL XML Results test for identity hints in element. * Fixed bug in ::Model::StatementFilter to call join_steams in ::Iterator::Bindings. * Fixed bug in ::Iterator::Graph::as_bindings where not all arguments are ::Node::Variable objects. * Updated SPARQL XML Results namespace for boolean iterators. * Replaced XML::Twig code with new XML::SAX parser (allowing streaming parsing). * Moved as_sparql methods from RDF::Trine:: to RDF::Query:: classes. * RDF::Trine::Iterator::smap now allows overriding default construct_args (e.g. binding names). * Fixed RDF::Trine::Model::StatementFilter::get_pattern to project away unused variables (fixing a bug that caused joining to always fail). * Updated example turtle parser to accept URLs as command line arguments. * Turtle parser now removes dashes from the UUIDs used for blank node IDs. * Added support to incrementally thaw an Iterator from an IO::Socket. * Added RDF::Trine::Iterator::SAXHandler::rate method. * Added Time::HiRes as prerequisite to META.yml and Makefile.PL. * Updated all RDF::Trine modules to use consistent VERSION number for 0.106 release. * Added examples directory (and an example script) to the RDF-Trine package. * Removed Bloom::Filtere from the list of prerequisites (functionality has moved to RDF::Query). Version 0.105 (2008-03-19) * Removed use of File::Slurp in parser tests. Version 0.104 (2008-03-14) * Updated SPARQL XML Results namespace declaration in RDF::Trine::Iterator serialization methods. * Added extra_result_data methods to add data to the XML Results header tag. * RDF::Trine::Node::Resource now serializes to QName when passed valid namespace data. * Fixed xml results serialization for style. Version 0.103 (2008-03-10) * Updated to recognize (renamed) RDF::Query::Expression class. Version 0.102 (2008-03-07) * Added length() method to Materialized bindings iterator class. * Removed bloom filter construction from bindings iterator (RDF::Query code now does this itself). * Fixed escaping of backslashes in Literal node serialization. Version 0.101 (2008-03-04) * Added an RDF/XML parser based on RDF::Core::Parser. * Added Bloom filter support for Materialized bindings iterators. * Fixed IRI workaround using the URI module. * Turtle parser now uses Data::UUID for unique names. * Fixed turtle parser bug for Verb testing. * Added RDF::Trine::Statement::Quad::from_redland method. * DBI store now constrains variable node types based on position in a statement. * Added support for BOUND(), ISLITERAL(), ISURI() and ISIRI() functions in DBI store. Version 0.100 (2008-02-18) * Initial public release. COPYRIGHT Copyright (C) 2008 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