RDF::TrineX::Compatibility::Attean - Compatibility layer between Attean and RDF::Trine
In modules that have new Attean methods, but otherwise uses RDF::Trine, just go:
use RDF::TrineX::Compatibility::Attean;
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
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.
One should be aware 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.
Kjetil Kjernsmo <[email protected]>.
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.
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.