#!/usr/bin/perl use DBI; my $dbh= DBI->connect("DBI:RDFStore:", "dan", 0 ); my $query = $dbh->prepare(< WHERE (?item, , ), (?item, , ?title), (?item, , ?link) USING rdf for , rss for QUERY $query->execute(); my ($title,$link); $query->bind_columns(\$title, \$link); while ($query->fetch()) { print "title=",$title->toString," link=".$link->toString,"\n"; }; $query->finish(); #or free-text (actually we have to agree whether or not to use =~ and bind free-text matched to a query var) my $query = $dbh->prepare(< WHERE (?item, , %"RDF"%), (?item, , ), (?item, , ?title), (?item, , ?link) USING rdf for , rss for QUERY $query->execute(); my ($title,$link); $query->bind_columns(\$title, \$link); while ($query->fetch()) { print "freetext: title=",$title->toString," link=".$link->toString,"\n"; }; $query->finish(); #or with LIKE - which is a bit less efficient and using perl regex engine my $query = $dbh->prepare(< WHERE (?item, , ), (?item, , ?title), (?item, , ?link) AND ?title LIKE '/Rdf/i' USING rdf for , rss for QUERY $query->execute(); my ($title,$link); $query->bind_columns(\$title, \$link); while ($query->fetch()) { print "freetext like: title=",$title->toString," link=".$link->toString,"\n"; }; $query->finish();