#!/usr/bin/perl
no
warnings
'redefine'
;
my
$la
= RDF::Query::Node::Literal->new(
'a'
);
my
$va
= RDF::Query::Node::Variable->new(
'a'
);
my
$vb
= RDF::Query::Node::Variable->new(
'b'
);
my
$triplea
= RDF::Query::Algebra::Triple->new(
$va
,
$ra
,
$la
);
my
$tripleb
= RDF::Query::Algebra::Triple->new(
$va
,
$rb
,
$vb
);
my
$bgp
= RDF::Query::Algebra::BasicGraphPattern->new(
$triplea
,
$tripleb
);
my
$expr
= RDF::Query::Expression::Binary->new(
'<'
,
$vb
,
$l3
);
my
$filter
= RDF::Query::Algebra::Filter->new(
$expr
,
$bgp
);
my
$ggp
= RDF::Query::Algebra::GroupGraphPattern->new(
$filter
);
my
$limit
= RDF::Query::Algebra::Limit->new(
$filter
, 5 );
my
$proj
= RDF::Query::Algebra::Project->new(
$limit
, [
map
{RDF::Query::Node::Variable->new(
$_
) }
qw(a b)
] );
print
'SELECT '
.
$proj
->as_sparql;