[MOBY-l] Changes to registry? Signatures lost?

Frank Gibbons fgibbons at hms.harvard.edu
Mon Nov 15 22:58:16 UTC 2004


Hi MOBYers,

I've been away from the MOBY world for a while (apart from bumping into 
Martin and Gary at the Semantic Web for Life Sciences Workshop in 
Cambridge), so perhaps I've missed out on some changes.

Today I noticed that while my older services are still around, they seem to 
have lost their namespace information - whereas before they reported 
consuming information in specific namespaces, now they report that they do 
not support any particular namespace.

I have a number of newly registered services (as of this morning), which 
correctly report namespaces. So, I'm wondering if perhaps the namespace 
information was accidentally dropped recently (was there a DB migration?) 
Or is it something more planned, where namespace info is no longer being 
reliably supplied, and I shouldn't rely on it (if this is the case, I'm in 
trouble!).

Appended below is the code I use to determine this (originally provided by 
Mark, I suspect) - might help someone determine what's going on, or whether 
it's my problem. The services Ito/Uetz/Tong are the new ones, others are 
older. Strangely, YAService has been up for a month or two, yet still 
reports supporting namespace SGD.

All services were registered by the old method, with no RDF generated. I 
believe I generated RDF for the older (non-namespace-supporting) ones, 
after having registered them, using Mark's script. Is this related to that?

Sorry I can't make it out to Santa Fe, look forward to reading about the 
latest MOBY developments here.

Thanks for help,

-Frank

------------------------------- appended Perl script to see 
function/namespaces -----------------------------
#!/usr/bin/perl

use lib qw(/share/local/share/perl/5.6.1
            /share/lib/perl5/site_perl/5.8.3); # Use latest MOBY
use MOBY::Client::Central;
use MOBY::Client::Service;
$m = MOBY::Client::Central->new();
my ($auth, $name) = ('llama.med.harvard.edu', 'YAService');
($ss, $r) = $m->findService(authURI => $auth); #, serviceName => $name);
my $i = 0;
my %Count = (authority => (), type => (), input => ());
foreach my $service (sort { lc $a->name cmp lc $b->name } @{$ss} ) {
   $i++;
   $Count{authority}{$service->authority}++;
   $Count{type}{$service->type}++;
   $Count{input}{$service->input}++;
   print "$i: Service ", $service->name, " from ",
     $service->authority, " is of type ", $service->type, "\n";
   print "It consumes: \n";
   $inputs = $service->input;
   foreach $in ( @{$inputs} ) {
       eval {print "\t", $in->objectType, "\n"; };
       print "\t\tin namespace(s)\n";
       eval {
           my $namespaces = $in->namespaces;
           foreach $ns ( @{$namespaces} ) {
               print "\t\t\t\t$ns\n";
           }
       };
   }

   print "It generates ";
   $outputs = $service->output;
   foreach $out ( @{$outputs} ) {
     # Check for isCollection, each element of the collection should have 
an objectType
     if ($out->isCollection) {
       print "a collection of outputs:\n";
       foreach my $simple (@{$out->Simples}) {
         print "\t", $simple->objectType, "\n";
         print "\t\tin namespace(s)\n";
         foreach $ns ( @{$simple->namespaces} ) { print "\t\t\t\t$ns\n"; }
       }
     }
     else {
       print "a single output:\n";
       print "\t", $out->objectType, "\n";
       print "\t\tin namespace(s)\n";
       foreach $ns ( @{$out->namespaces} ) { print "\t\t\t\t$ns\n"; }
     }
   }
print "\n", '-'x80, "\n";
}

print "Services by authority:\n";
#while (my ($k, $v) = each $Count{authority}) {
for my $s (sort {lc $a cmp lc $b} keys %{$Count{authority}}) {
     print "$Count{authority}{$s} $s\n";
}


PhD, Computational Biologist,
Harvard Medical School BCMP/SGM-322, 250 Longwood Ave, Boston MA 02115, USA.
Tel: 617-432-3555       Fax: 
617-432-3557       http://llama.med.harvard.edu/~fgibbons 




More information about the moby-l mailing list