RDF::TriN3(3) notation 3 extensions for RDF::Trine

DESCRIPTION

This module extends RDF::Trine in three ways:
  • Adds a Notation 3 parser.
  • Adds a Notation 3 serializer.
  • Provides a subclass of literals to represent Notation 3 formulae.

In addition, a parser is provided for Notation 3 extended with ShorthandRDF notation - <http://esw.w3.org/ShorthandRDF>.

BUGS AND LIMITATIONS

Implementing N3 logic and the cwm built-ins is considered outside the scope of this distribution, though I am interested in doing that as part of a separate project.

RDF::TriN3 currently relies entirely on RDF::Trine to provide implementations of the concept of graphs, and storage. Thus any graphs that can't be represented using RDF::Trine can't be represented in RDF::TriN3. RDF::Trine's graph model is a superset of RDF, but a subset of Notation 3's model. While this allows literal subjects, and literal and blank node predicates, these may not be supported by all storage engines; additionally top-level variables (?foo), and top-level @forSome and @forAll (i.e. not nested inside a formula) might cause problems.

RDF::Trine::Store::DBI has some issues with literal subjects, and literal and blank node predicates, allowing them to be stored, but not retrieved. From version 0.128, RDF::Trine::Store::DBI offers a "clear_restrictions" method that should resolve these issues. RDF::Trine::Store::Memory is fine. Other stores are not tested.

Please report any bugs to <http://rt.cpan.org/>.

AUTHOR

Toby Inkster <[email protected]>.

COPYRIGHT AND LICENCE

Copyright 2010-2012 Toby Inkster

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

DISCLAIMER OF WARRANTIES

THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.