/usr/share/perl5/RDF/Trine/Namespace.pm is in librdf-trine-perl 0.138-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | # RDF::Trine::Namespace
# -----------------------------------------------------------------------------
=head1 NAME
RDF::Trine::Namespace - Abbreviated syntax for constructing RDF node objects
=head1 VERSION
This document describes RDF::Trine::Namespace version 0.138
=head1 SYNOPSIS
use RDF::Trine::Namespace qw(rdf);
my $foaf = RDF::Trine::Namespace->new( 'http://xmlns.com/foaf/0.1/' );
my $pred = $foaf->name;
my $type = $rdf->type;
print $pred->as_string; # '[http://xmlns.com/foaf/0.1/name]'
=head1 DESCRIPTION
This module provides an abbreviated syntax for creating RDF::Trine::Node objects
for URIs sharing common namespaces. The module provides a constructor for creating
namespace objects which may be used for constructing Node objects. Calling any
method (other than 'import', 'new', 'uri' or 'AUTOLOAD') on the namespace object
will return a RDF::Trine::Node object representing the URI of the method name
appended to the namespace.
=head1 METHODS
=over 4
=cut
package RDF::Trine::Namespace;
use strict;
use warnings;
no warnings 'redefine';
use base qw(XML::Namespace);
######################################################################
our ($VERSION);
BEGIN {
$VERSION = '0.138';
}
######################################################################
use Carp;
use RDF::Trine::Node::Resource;
use XML::CommonNS 0.04 ();
sub import {
my $class = shift;
if (@_) {
$class->_install_namespaces( 1, @_ );
}
}
sub _install_namespaces {
my $class = shift;
my $level = shift;
my $pkg = caller( $level );
foreach my $name (@_) {
my $uri = (uc($name) eq 'XSD')
? XML::NamespaceFactory->new('http://www.w3.org/2001/XMLSchema#')
: XML::CommonNS->uri( uc($name) );
my $ns = $class->new( "$uri" );
no strict 'refs';
*{ "${pkg}::${name}" } = \$ns;
}
}
=item C<uri>
Returns the URI node object for the namespace, with an optional path argument
added to the end of it.
=cut
sub uri {
my $self = shift;
my $uri = $self->SUPER::uri( @_ );
return RDF::Trine::Node::Resource->new( $uri );
}
=item C<< uri_value >>
Returns the URI/IRI value of this namespace.
=cut
sub uri_value {
my $self = shift;
return $self->uri();
}
1; # Magic true value required at end of module
__END__
=back
=head1 DEPENDENCIES
L<XML::Namespace>
=head1 BUGS
Please report any bugs or feature requests to
C<< <gwilliams@cpan.org> >>.
=head1 AUTHOR
Gregory Todd Williams C<< <gwilliams@cpan.org> >>
=head1 COPYRIGHT
Copyright (c) 2006-2010 Gregory Todd Williams. This
program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
=cut
|