#!/bin/env perl
print "==== Example 5 - RDQL query: find author\n" ;
print "==== NB we get matching subgraph - includes our anwser\n" ;
require Joseki ;
require RDF::Core::Model ;
my $kbURL = 'http://jena.hpl.hp.com:2020/books' ;
if ( $#ARGV != -1 )
{
$kbURL = shift ;
print "Data source = $kbURL\n" ;
}
my $rdql =
'SELECT ?z WHERE '.
'(?x dc:title \'Harry Potter and the Philosopher\\\'s Stone\') '.
'(?x dc:creator ?z) ' .
'USING book for dc FOR ' ;
my $m = Joseki->rdql($kbURL, $rdql) ;
printModelStmts($m) ;
sub printModelStmts
{
my($model) = @_ ;
my $sIter = $model->getStmts;
my $stmt = $sIter->getFirst;
for(; defined $stmt ; $stmt = $sIter->getNext )
{
print "[ ",$stmt->getSubject->getURI,
",\n ",$stmt->getPredicate->getURI,
",\n ",$stmt->getObject->getLabel," ]\n" ;
}
$sIter->close ;
}