This file is indexed.

/usr/share/perl5/RDF/Query/Temporal.pm is in librdf-query-perl 2.918-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
# RDF::Query::Temporal
# -----------------------------------------------------------------------------

=head1 NAME

RDF::Query::Temporal - tSPARQL temporal extensions to the RDF::Query engine.

=head1 VERSION

This document describes RDF::Query::Temporal version 2.918.

=cut

package RDF::Query::Temporal;

use strict;
use warnings;
no warnings 'redefine';
use base qw(RDF::Query);

use Scalar::Util qw(blessed);

######################################################################

our ($VERSION);
BEGIN {
	$VERSION	= '2.918';
}

######################################################################

=begin private

=item C<query_more_time ( bound => \%bound, triples => \@triples )>

Called by C<query_more()> to handle TIME graph query patterns.

=end private

=cut

sub query_more_time {
	my $self		= shift;
	my %args		= @_;
	if ($args{quad}) {
		throw RDF::Query::Error::QueryPatternError ( -text => "Can't use nested temporal queries" );
	}
	
	my $triples		= delete($args{triples});
	my @triples	= @{$triples};
	my $triple	= shift(@triples);
	
	return $self->query_more( triples => [ $triple->pattern ], %args, quad => $triple->interval );
}

=begin private

=item C<fixup_pattern ( $pattern )>

Called by fixup() with individual graph patterns. Returns a list of sub-patterns
that may need fixing up.

=end private

=cut

sub fixup_pattern {
	my $self	= shift;
	my $triple	= shift;
	my $bridge		= $self->{bridge};
	
	if ($triple->isa('RDF::Query::Algebra::TimeGraph')) {
		my @triples;
		push(@triples, $triple->pattern);
		push(@triples, $triple->time_triples);
		
		use Data::Dumper;
		warn Dumper(\@triples);
		if ($triple->interval->isa('RDF::Query::Node::Resource')) {
			$triple->interval( $bridge->new_resource( $triple->interval->uri_value ) );
		} elsif ($triple->interval->isa('RDF::Query::Node::Variable')) {
			my $var	= $triple->interval->name;
			$self->{ known_variables_hash }{ $var }++
		}
		return @triples;
	} else {
		return $self->SUPER::fixup_pattern( $triple );
	}
}

1;

__END__

=head1 AUTHOR

 Gregory Todd Williams <gwilliams@cpan.org>

=cut