#! /usr/bin/env perl

use strict;
use warnings;
use File::Basename;
use File::Path;
use Cwd 'getcwd';

my $miriam_xml = $ARGV[0];
use Cwd 'abs_path';
$miriam_xml = abs_path($miriam_xml);

my $CWD=dirname(${0});
my $DB=basename(${0}, '.pl');
chdir $CWD;
$CWD=getcwd;
my $PWD=dirname($CWD);
my $ESROOT=$PWD;

open(FH, $miriam_xml);

printf "\@prefix\trdf:\t<http://www.w3.org/1999/02/22-rdf-syntax-ns#>\t.\n";
printf "\@prefix\trdfs:\t<http://www.w3.org/2000/01/rdf-schema#>\t.\n";

my $flag=0;
my $id = "";
my $name = "";
my $synonym = "";
my $identifiers = "";
my @n = ();
my @s = ();

while(my $line = <FH>){
   if($line =~ /datatype id/){
      ($id) = ( $line =~ /id="(\S+)"/ );
      $flag = 1;
      @n = ();
      @s = ();
      next;
   }
   if($line =~ /<\/datatype>/){
       $flag=0;
       next;
   }
   if($line =~ /<name>/ && $flag ){
      ($name) = ( $line =~ />(.*?)</ );
      push(@n, $name);
      next;
   }
   if($line =~ /<\/synonym>/){
      ($synonym) = ( $line =~ />(.*?)</ );
      push(@s, $synonym);
      next;
   }
   if($line =~ /<uri type="URL">/){
      ($identifiers) = ( $line =~ />(.*?)</ );
      $identifiers =~ s/\/$//;
      printf "<%s>\trdfs:seeAlso\t<http://identifiers.org/miriam.collection/%s>\t.\n", $identifiers, $id;
      foreach $name (@n){
        printf "<%s>\trdfs:label\t\"%s\"\t.\n", $identifiers, $name;
      }
      foreach $name (@s){
        printf "<%s>\trdfs:comment\t\"%s\"\t.\n", $identifiers, $name;
      }
      next;
   }
}

close(FH);
