[MOBY-dev] Re: how to get LSID of the registered service

Mark Wilkinson markw at illuminae.com
Tue May 17 15:13:09 UTC 2005


Hi Martin, 

I've been thinking about that problem quite a bit, actually.  I know
that the existing system is a bit of a mish-mash, and needs to be
cleaned up.  My suggested solution is as follows:  for every XML tag in
an outgoing MOBY Central API message, where the content of the tag is an
element in one of the four MOBY ontologies, there should be an attribute
lsid='xxx' indicating the LSID corresponding to the human-readable
content of the XML tag.

e.g. 

<Services>
<Service authURI="authority.URI.here" serviceName="MyService"
lsid='urn:lsid:biomoby.org:serviceinstance:authority.URI.here,MyService'>
<serviceType
lsid='urn:lsid:biomoby.org:servicetype:Service_Ontology_Term'>Service_Ontology_Term</serviceType>
<authoritative>1</authoritative>
<Category>moby</Category>
<Description><![CDATA[free text description here]]></Description>
<contactEmail>your at email.addy.here</contactEmail>
<URL>http://service.endpoint.here/scriptname</URL>
<Input>
<Simple articleName="NameOfArticle">
<objectType
lsid='urn:lsid:biomoby.org:objectclass:ObjectOntologyTerm'>ObjectOntologyTerm</objectType>
<Namespace
lsid='urn:lsid:biomoby.org:namespacetype:NamespaceTerm'>NamespaceTerm</Namespace>
</Simple>
</Input>
<Output>
<Simple articleName="NameOfArticle">
<objectType
lsid='urn:lsid:biomoby.org:objectclass:ObjectOntologyTerm'>ObjectOntologyTerm</objectType>
<Namespace
lsid='urn:lsid:biomoby.org:namespacetype:NamespaceTerm'>NamespaceTerm</Namespace>
</Simple>
</Output>
</Service>
</Services>

I suspect that we will eventually need to make the same true for inbound
MOBY Central API messages, since we now have distributed ontologies so I
cannot be sure if the object named GeneClass is part of the biomoby
cenral object ontolgy, or one of the distributed ontologies... and as
such, a lookup on that object by its human readable name might be a
disaster!  On the other hand, the human readable names are so friendly
that I think we would be shooting ourselves in the foot if we discarded
them altogether...

Does that solution suit everyone?  Are there any objections?  I will be
sure to make it entirely consistent such that the LSID is NOT present in
the content of the XML tag, but only in the attribute.

Let me know if there are any objections to this, and if not, I will try
to implement this before next week.

M



On Tue, 2005-05-17 at 15:36 +0100, Martin Senger wrote:
> Mark,
>    Quite a long time ago we have discussed the inconsistency in the 
> returned names from the registry. Recently Mathieu asked me how to get an 
> LSID of a service (in order to ask for metadata etc.) so I have looked at 
> the names again. It seems that:
> 
>    1) One cannot get an LSID - using the registry API. The findService 
> method seems to return only the simple service name.
> 
>    2) The extended API (the rules for getting URLs returning RDF
> documents) is not yet in place. And more, my pretty old RDF document (so 
> this may not be true anymore) does not show LSIDs either.
> 
>    3) Regarding the names of data types, the situation is better (because
> one *can* get an LSID of a data type) - but not consistent: the method
> retriveObjectNames returns simple names and the method
> retrieveObjectDefinition returns LSIDs.
> 
>    I think that we should fix/solve/explain this asap. Any plans or 
> suggestions for it?
> 
>    Cheers,
>    Martin
> 
> PS. It would also help if you explain in BioMoby API an official way how
> to get these RDF documents. I know that you mentioned that there was "an
> XML standard way" but I doubt that it was clear to most of us :-).
>    Thanks. M.
> 




More information about the MOBY-dev mailing list