#!/usr/bin/perl 
#
# Generate some SPARQL query prefixes
# from a source RDF/XML document.
# ie.
# 	PREFIX foaf: <http://xmlns.com/foaf/0.1/>
# from
#	xmlns:foaf="http://xmlns.com/foaf/0.1/"
#
# Dan Brickley <danbri@w3.org>
# $Id: sparqlprefixer.pl,v 1.2 2005/07/28 10:52:26 danbri Exp $

my $file = shift || die "File path to an RDF/XML doc needed";
open(IN,"$file") || die "Can't open $file";
foreach my $line (<IN>) {
  chomp $line;
  next unless $line =~ /xmlns/;
  $line =~ m/xmlns:(\w*)\s*=\s*"(.*)"/;
  my ($pre, $url) = ($1, $2);
  if ($pre) {
    print "PREFIX $pre: <$url>\n";
  } else {
    $line =~ m/xmlns\s*=\s*"(.*)"/;
    my ($url) = ($1);
    print "BASE <$url>\n";
  }
}
print "SELECT ?s ?p ?o \nWHERE { ?s ?p ?o } \n"; # basic query
