[MOBY-dev] Primitives as primary input

Paul Gordon gordonp at ucalgary.ca
Fri Jan 11 13:51:14 UTC 2008


Hi Tom,

No, you shouldn't be able to (unless you guarantee that you know how to 
decode every URL type ever possible, including prospero, gopher, ftp, 
etc., since that's the contract you're making).  The way you'd do it 
should be like how VirtualSequences are specifed:

<VirtualPNGImage namepace="http" id="//google.com/images/foo.png"/>

Then you make the text description of the VirtualPNGInage something that 
tells the user that it's a placeholder.  You're correct that there is no 
systematic way in Moby, but there is a convention.  Virtually nothing 
about data types is systematic in Moby, since it relies on someone to 
interpret the ontology terms by reading the term descriptions (which 
makes it infinitely simpler than OWL).

Cheers,

Paul

P.S. I'm not generally a fan of namespace inheritance, but if we did it, 
an application that fits the bill for you would be to have URN -> URI -> 
URL -> httpURL ->PNGhttpURL. I fear that people will abuse an inherited 
namespace and say "I take NCBI IDs", when in fact they only take certain 
children.  Inheritance just doesn't work the same way for most ID 
systems as it does for data types, because the retrieval protocol for a 
namespace is not generally both universal and non extensible. In the 
case of PNGhttpURL, it does not extend the httpURL retrieval protocol, 
so you're okay, but suppose if I register a new namespace as a child of 
NCBI_IDs.  Because there is no universal protocol to retrieve things 
from the NCBI (at least for argument's sake), I've broken your service.  
People will start passing my new DB's IDs into your service, but you 
don't know how to fetch them.  The contract for a namespace signature is 
fundamentally different from a data type contract, because of the 
retrieval phase.

Tom Oinn wrote:
> Paul Gordon wrote:
>
>> The confusion comes from the fact that the protocol+index combo can 
>> be either in the namespace/id part, or in the form of a data type.  
>> Why then do we bother having id/namepsace?  Tom was on to something, 
>> but not quite.  There is exactly one "carrier mechanism" in Moby: 
>> services. They know how to resolve an index combos and give you the 
>> referent back.
>
> If the above is true then can you tell me the type for an input which 
> requires an image in PNG format pointed to by a URL? I don't think you 
> can...
>
> There is one carrier mechanism in Moby, but this is being used to 
> carry entities which are themselves indices into other systems. Unless 
> I wildly misunderstand something (entirely possible I admit) there's 
> no way to say 'URL to an image' let alone 'URL to an image of my cat'.
>
> Tom
>
>



More information about the MOBY-dev mailing list