#!/usr/bin/perl
use strict;
use warnings;
no warnings 'redefine';
use Test::More;
use lib qw(. t);
require "models.pl";
my @files = map { "data/$_" } qw(about.xrdf foaf.xrdf);
my @models = test_models( @files );
my $tests = 1 + (scalar(@models) * 3);
plan tests => $tests;
use_ok( 'RDF::Query' );
foreach my $model (@models) {
print "\n#################################\n";
print "### Using model: $model\n\n";
{
my $query = new RDF::Query ( <<"END", undef, undef, 'sparql' );
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
ASK { ?person foaf:name "Gregory Todd Williams" }
END
my $stream = $query->execute( $model );
ok( $stream->is_boolean, "Stream is boolean result" );
my $ok = $stream->get_boolean();
ok( $ok, 'Exists in model' );
}
{
my $query = new RDF::Query ( <<"END", undef, undef, 'sparql' );
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
ASK { ?person foaf:name "Rene Descartes" }
END
my $stream = $query->execute( $model );
my $ok = $stream->get_boolean();
ok( not($ok), 'Not in model' );
}
}