[MOBY-guts] biomoby commit

Mark Wilkinson mwilkinson at pub.open-bio.org
Sat Nov 1 12:48:56 EST 2003


mwilkinson
Sat Nov  1 12:48:56 EST 2003
Update of /home/repository/moby/moby-live/Perl/lsid/authority
In directory pub.open-bio.org:/tmp/cvs-serv11357/lsid/authority

Modified Files:
	RDFConfigure.pm metadata.pl 
Added Files:
	ServiceInstanceResolver.pm 
Log Message:
added a prototype service instance LSID resolver.  I'm not sure that the RDF graph of this is correct, and it also ignores secondary parameters, so it isn't complete either.  It uses the predicate vocabulary that we agreed upon at the I3C meeting in Hinxton, so we should be able to discover both myGrid and MOBY services with identical meta data vocabularies.  This will also allow third parties to construct and publish workflows by referring to MOBY and/or myGrid services by their LSID's.

moby-live/Perl/lsid/authority ServiceInstanceResolver.pm,NONE,1.1 RDFConfigure.pm,1.4,1.5 metadata.pl,1.7,1.8
===================================================================
RCS file: /home/repository/moby/moby-live/Perl/lsid/authority/RDFConfigure.pm,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- /home/repository/moby/moby-live/Perl/lsid/authority/RDFConfigure.pm	2003/11/01 14:10:05	1.4
+++ /home/repository/moby/moby-live/Perl/lsid/authority/RDFConfigure.pm	2003/11/01 17:48:56	1.5
@@ -29,7 +29,8 @@
 xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#'
 xmlns:dc='http://purl.org/dc/elements/1.1/'
 xmlns:i3cp='urn:lsid:i3c.org:predicates:'
-xmlns:mobyp='urn:lsid:biomoby.org:rdfpredicate:'>\n\n";
+xmlns:mobyp='urn:lsid:biomoby.org:rdfpredicate:'
+xmlns:i3csp='urn:lsid:i3c.org:services:'>\n\n";
 our $RDF_SUFFIX= "</rdf:RDF>";
 
 
@@ -47,6 +48,33 @@
 </rdf:Description>";
 }
 
+sub rdfBnode {
+	my ($subj, $pred, $id)= @_;
+	return "<rdf:Description rdf:about='$subj'>
+\t<$pred rdf:nodeID='$id'/>
+</rdf:Description>";
+}
+
+sub rdfBnodeResource {
+	my ($subj, $pred, $obj)= @_;
+	return "<rdf:Description rdf:nodeID='$subj'>
+\t<$pred rdf:resource='$obj'/>
+</rdf:Description>";
+}
+
+sub rdfBnodeLiteral {
+	my ($subj, $pred, $obj)= @_;
+	return "<rdf:Description rdf:nodeID='$subj'>
+\t<$pred>$obj</$pred>
+</rdf:Description>";
+}
+
+sub rdfBnodeBnode {
+	my ($subj, $pred, $id)= @_;
+	return "<rdf:Description rdf:nodeID='$subj'>
+\t<$pred rdf:nodeID='$id'/>
+</rdf:Description>";
+}
 
 sub _die {
     my $m = shift;

===================================================================
RCS file: /home/repository/moby/moby-live/Perl/lsid/authority/metadata.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- /home/repository/moby/moby-live/Perl/lsid/authority/metadata.pl	2003/11/01 14:10:05	1.7
+++ /home/repository/moby/moby-live/Perl/lsid/authority/metadata.pl	2003/11/01 17:48:56	1.8
@@ -25,6 +25,7 @@
 use ServiceResolver qw(:all);
 use RelationshipResolver qw(:all);
 use PredicateResolver qw(:all);
+use ServiceInstanceResolver qw(:all);
 
 my %known_types = (  # switch on/off various LSID-namespace resolvers.
     'namespacetype' => 1,
@@ -32,7 +33,7 @@
     'servicetype' => 1,
     'servicerelation' => 1,
     'objectrelation' => 1,
-    'serviceinstance' => 0,
+    'serviceinstance' => 1,
     'rdfpredicate' => 1,
                   );
 
@@ -76,6 +77,7 @@
     return resolve_relationshiptype($relationshipdb,$lsid) if $1 eq "objectrelation";
     return resolve_relationshiptype($relationshipdb,$lsid) if $1 eq "servicerelation";
     return resolve_mobyPredicate($lsid) if $1 eq "rdfpredicate";
+    return resolve_ServiceInstance($lsid) if $1 eq "serviceinstance";
     
 }
 



More information about the MOBY-guts mailing list