[MOBY-dev] Strange inconsistence (bug?) in MobyCentral

Edward Kawas edward.kawas at gmail.com
Fri Jul 10 21:22:35 UTC 2009


Hello Moby'ers!

I recently ran a patched version of the registry on a virtual machine. The
patch basically was to fix this inconsistency and look to see what no longer
works. The list of broken things is large, but there is good news too! Only
a handful of Classes/Modules needed to be fixed!

In CentralImpl, the method createDataTypeFromXML() broke because it is
looking for relationshipType.endswith('isa'). In order to be consistent with
the XML returned from other registry calls, the relationshipType is now a
fully capitalized "ISA". This is easy to fix, but everyone that uses this
one function needs to be aware that once the registry goes consistent, a few
things will break (Taverna and MoSeS generators, just to name a few).

In Perl MoSeS, the fix is similar to that in jMoby.

I guess the question is, should we fix this (is being consistent more
important than breaking a bunch of Biomoby client software) and if so, how
long shall we give people to update their software before deploying the fix
on mobycentral? 

Thanks,

Eddie

-----Original Message-----
From: moby-dev-bounces at lists.open-bio.org
[mailto:moby-dev-bounces at lists.open-bio.org] On Behalf Of Dmitry Repchevsky
Sent: July-07-09 7:25 PM
To: Core developer announcements
Subject: [MOBY-dev] Strange inconsistence (bug?) in MobyCentral

Hello,

Trying to optimize a little bit my MobyCentral API I found a strange a 
thing:

According the "specification"
http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Docs/MOBY-S_API/XMLPayload
s.html#retrieveObjectDefinition

There are two ways to get the relationships for an object:

first way is to get Relationships directly (through "Relationships" 
operation):

Output:

        <Relationships>
           <Relationship relationshipType="RelationshipOntologyTerm1" 
	   lsid='urn:lsid:authority.uri:namespace:id'>
                [ <objecctType lsid='...'
articleName='foo'>OntologyTerm</objectType> | 
		<serviceType lsid='...'>OntologyTerm</serviceType> ]
                       ...
           </Relationship>
           ...
        </Relationships>

This one I used to use...

But there is another way using "retrieveObjectDefinition" method:

Output:

        <retrieveObjectDefinition>
            <objectType
lsid='urn:lsid:authority.uri:namespace:id'>ObjectClassName</objectType>
            <Description><![CDATA[
                    human readable description
                    of data type]]>
            </Description>
            <Relationship relationshipType="RelationshipOntologyTerm" 
	    lsid='urn:lsid:authority.uri:namespace:id'>
               <objectType articleName="SomeName"
lsid='urn:lsid:authority.uri:namespace:id'>ExistingObjectType</objectType>
            </Relationship>
            ...
            <authURI>your.URI.here
<http://biomoby.open-bio.org/CVS_CONTENT/moby-live/Docs/MOBY-S_API/Authoriti
es.html></authURI>
            <contactEmail>owner at their.address.com</contactEmail>
        </retrieveObjectDefinition>


The problem is that instead of [relationshipType="RelationshipOntologyTerm"]
it returns lsid!!!

Here is the output:

<retrieveObjectDefinition>
  <objectType
lsid='urn:lsid:biomoby.org:objectclass:Zip_Encoded:2007-11-16T11-34-07Z'>Zip
_Encoded</objectType>
  <Description><![CDATA[A Zip file encoded in Base-64.]]></Description>
  <authURI>inb.bsc.es</authURI>
  <contactEmail>romina.royo at bsc.es</contactEmail>

  <Relationship relationshipType='urn:lsid:biomoby.org:objectrelation:isa'>
    <objectType articleName=''
lsid='urn:lsid:biomoby.org:objectclass:Object:2001-09-21T16-00-00Z'>Object</
objectType>
  </Relationship>
  <Relationship relationshipType='urn:lsid:biomoby.org:objectrelation:hasa'>
    <objectType articleName='rawdata'
lsid='urn:lsid:biomoby.org:objectclass:String:2001-09-21T16-00-00Z'>String</
objectType>
    <objectType articleName='mimeTypte'
lsid='urn:lsid:biomoby.org:objectclass:String:2001-09-21T16-00-00Z'>String</
objectType>
  </Relationship>
</retrieveObjectDefinition>

As far as I understand from the specification it should be:

<Relationship relationshipType='ISA'
lsid='urn:lsid:biomoby.org:objectrelation:isa'>

Could someone clarify please... 

Dmitry

_______________________________________________
MOBY-dev mailing list
MOBY-dev at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/moby-dev




More information about the MOBY-dev mailing list