use RDF::Query;
use RDF::TrineX::Functions -shortcuts;
my $data = rdf_parse(<<'TURTLE', type=>'turtle', base=>'http://example.com/');
@prefix foaf: .
@prefix rdf: .
foaf:name "Toby Inkster" ;
foaf:page [ foaf:name "Toby Inkster" ] ;
foaf:junk "Foo Bar"^^rdf:XMLLiteral ;
foaf:mbox .
TURTLE
my $query = RDF::Query->new(<<'SPARQL');
PREFIX foaf:
PREFIX util:
PREFIX junk:
SELECT
?name
(util:uc(?name) AS ?ucname)
(util:trim(util:sprintf(" Je m'apelle %s "@fr, ?name)) AS ?intro)
(util:skolem(?page, "oid") AS ?skolempage)
(util:preg_replace("t", "x", ?name, "ig") AS ?mangled)
(util:find_xpath("//junk:ex", ?junk, 0) AS ?found)
WHERE
{
?person foaf:name ?name ; foaf:page ?page ; foaf:junk ?junk.
}
SPARQL
my $results = $query->execute($data);
print $results->as_xml;