[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