[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