File Coverage

blib/lib/AtteanX/Compatibility/Trine.pm
Criterion Covered Total %
statement 17 17 100.0
branch n/a
condition n/a
subroutine 10 10 100.0
pod 0 6 0.0
total 27 33 81.8


line stmt bran cond sub pod time code
1 3     3   1377 use 5.010001;
  3         9  
2 3     3   14 use strict;
  3         5  
  3         49  
3 3     3   12 use warnings;
  3         8  
  3         148  
4              
5             package AtteanX::Compatibility::Trine;
6              
7             our $AUTHORITY = 'cpan:KJETILK';
8             our $VERSION = '0.001';
9              
10 3     3   821 use Attean;
  3         4402918  
  3         15  
11              
12             package Attean::IRI {
13 1     1 0 4888 sub uri { return $_[0]->abs }
14             }
15              
16             package Attean::Blank {
17 1     1 0 3130 sub blank_identifier { return $_[0]->value }
18             }
19              
20             package Attean::Literal {
21 1     1 0 9480 sub has_datatype { return 1 }
22              
23 1     1 0 8 sub literal_value { return $_[0]->value }
24              
25 1     1 0 7 sub literal_value_language { return $_[0]->language }
26              
27 1     1 0 23 sub literal_datatype { return $_[0]->datatype->as_string }
28             }
29              
30             1;
31              
32             __END__
33              
34             =pod
35              
36             =encoding utf-8
37              
38             =head1 NAME
39              
40             AtteanX::Compatibility::Trine - Compatibility layer between RDF::Trine and Attean
41              
42             =head1 SYNOPSIS
43              
44             In modules that have old L<RDF::Trine> methods, but otherwise uses L<Attean>, just go:
45              
46             use AtteanX::Compatibility::Trine;
47              
48              
49             =head1 DESCRIPTION
50              
51             For now, only certain methods of L<RDF::Trine> nodes are supported. They are added to the respective L<Attean> terms by this module. They are:
52              
53             =over
54              
55             =item * C<Attean::Blank::blank_identifier>
56              
57             =item * C<Attean::IRI::uri>
58              
59             =item * C<Attean::Literal::literal_value>
60              
61             =item * C<Attean::Literal::literal_value_language>
62              
63             =item * C<Attean::Literal::has_datatype>
64              
65             =item * C<Attean::Literal::literal_datatype>
66              
67             =back
68              
69             =head1 BUGS
70              
71             Please report any bugs or things you miss from L<RDF::Trine> here:
72             L<https://github.com/kjetilk/p5-atteanx-compatibility-trine/issues>.
73              
74             =head1 SEE ALSO
75              
76             =head1 AUTHOR
77              
78             Kjetil Kjernsmo E<lt>kjetilk@cpan.orgE<gt>.
79              
80             =head1 COPYRIGHT AND LICENCE
81              
82             This software is copyright (c) 2017 by Kjetil Kjernsmo.
83              
84             This is free software; you can redistribute it and/or modify it under
85             the same terms as the Perl 5 programming language system itself.
86              
87              
88             =head1 DISCLAIMER OF WARRANTIES
89              
90             THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
91             WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
92             MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
93