#!/usr/bin/env ruby

# Sample script, testing integration of RDF4R and Squish/BasicRDF code.
# tweaked by danbri@w3.org based on RDF4R original.

# ./rdftest.rb --parser=rexml --rdf=./nodeID/ex1.rdf

$:.unshift '../lib/' # load library from this filetree over any other
$:.unshift '../../lib/' # load library from this filetree over any other


## FIXME: this should be obsoleted in favour of the new methods in Loader.*

require 'basicrdf'
require 'squish'
require 'getoptlong'
puts "Library path is: "+ $:.to_s

if __FILE__ == $0
  models = nil
  parser='rubyexpat' #default
  filename=''
  baseuri=nil
  opt = GetoptLong.new ( ['--verbose','-v', GetoptLong::NO_ARGUMENT],
        ['--parser', '-p', GetoptLong::REQUIRED_ARGUMENT],
        ['--rdf', '-r', GetoptLong::REQUIRED_ARGUMENT],
        ['--baseuri', '-b', GetoptLong::REQUIRED_ARGUMENT],
        ['--collect','-f', GetoptLong::OPTIONAL_ARGUMENT] )

  opt.each_option do |k,v|
    puts "Config: '#{k}' -> #{v} "
    filename=v if k=='--rdf'
    parser=v if k=='--parser'
    baseuri=v if k=='--baseuri'
  end

  puts "# CFG: RDF parser: #{parser}, RDF file: #{filename}, Base URI:  #{baseuri}"

  # filename = ARGV.shift or (puts "need filename"; exit 1)
  base = (baseuri or %Q{file://#{filename}})
  uri = ARGV.shift 
  #data=Loader.get_rdf_from_uri uri
  puts "File wanted is: #{filename}"
  data=Loader.parse_rdf filename,  "file:#{uri}", parser
  puts data.toNtriples

end
