#!/usr/bin/env ruby

# query some rdf data in our SQL store
# Dan Brickley <danbri@w3.org>
# $Id: q2.rb,v 1.2 2003/04/07 01:10:03 danbri Exp $

$:.unshift '../lib/'
$:.unshift '../../lib/'

require 'basicrdf'
require 'squish'
require 'dbi'


def query_grub

  query=<<EOQ;
    SELECT ?uri, ?c,
    WHERE 
      (cm::Neighborhood ?uri ?c)
    USING
      rss for http://purl.org/rss/1.0/
      cm for http://chefmoz.org/rdf/elements/1.0/

EOQ

#      (cm::Country ?uri ?c)

#	      (rss::title ?uri ?title)

  log=''

  dbi_driver = 'DBI:Pg:rdfweb1'
  dbi_user = 'danbri'
  dbi_pass =''
  q = SquishQuery.new.parseFromText (query)
  c=0;
  DBI.connect(  dbi_driver, dbi_user ,  dbi_pass ) do | dbh |

  log += "|| title || uri ||\n"

    dbh.select_all( q.toSQLQuery  ) do | hit |
      c+=1
      r=ResultRow.new hit
      log += "|| #{r.c} || #{r.uri} ||\n"
    end
  end
  res=Hash.new
  res['log']=log
  res['hits']=c
  return res

end

########


# FIXME:
# add some 'if we're being called as a library' stuff here
qr=query_grub 
puts qr
