RDF::TrineX::Compatibility::Attean(3pm)

NAME
RDF::TrineX::Compatibility::Attean - Compatibility layer between Attean and RDF::Trine

SYNOPSIS
In modules that have new Attean methods, but otherwise uses RDF::Trine, just go:

  use RDF::TrineX::Compatibility::Attean;

DESCRIPTION
For now, only certain methods of Attean classes are supported. They are added to the respective RDF::Trine classes by this module. They are:

•   "RDF::Trine::Node::equals"

•   "RDF::Trine::Node::ntriples_string"

•   "RDF::Trine::Node::Resource::abs"

•   "RDF::Trine::Node::Literal::value"

•   "RDF::Trine::Node::Literal::language"

•   "RDF::Trine::Node::Literal::datatype"

•   "RDF::Trine::Model::get_quads"

•   "RDF::Trine::Model::count_quads"

TODO
I'm unsure on how "RDF::Trine::Node::Literal::has_datatype" should be treated. Attean implements RDF 1.1, where all literals have a datatype, so to Attean, "has_datatype" would always be true, but that would be surprising to Trine users. For now, I have chosen to solve this only at the output level, i.e. the "RDF::Trine::Node::Literal::datatype" will return the RDF 1.1 datatypes, but "has_datatype" is still false for what was in RDF 1.0 plain literals and language literals.

BUGS
One should be that this module is a hack to make legacy code run while being in transition to Attean. It was initially motivated by making RDF::RDFa::Generator run on both frameworks. It may do surprising things.

Nevertheless, please report any bugs or things you miss from Attean here: <https://github.com/kjetilk/p5-rdf-trinex-compatibility-attean/issues>.

SEE ALSO

AUTHOR
Kjetil Kjernsmo <kjetilk@cpan.org>.

COPYRIGHT AND LICENCE
This software is copyright (c) 2017 by Kjetil Kjernsmo.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system 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.