[MOBY-dev] Shims in BioMOBY
Duncan Hull
duncan.hull at cs.man.ac.uk
Wed May 3 17:40:39 UTC 2006
Hi Paul
Paul Gordon wrote:
>This is a very general question, especially for non-native-English
>speakers. I was going to add a top-level "Shim" category of services
>to the ontology, but I'm pretty sure most non-native-English speakers
>would have no idea what this means. I'm borrowing the term from
>
>D Hull, R Stevens, P Lord, C Wroe, C Goble (2004). Treating shimantic
>web syndrome with ontologies. First AKT workshop on Semantic Web
>Services (AKT-SWS04).
>
>
Since I'm first author of the paper [1] you mention, here are three
points on how I think shim services should be described, so that users
can find them. According to me, I am the first person to use the term
"shim" to describe bioinformatics services, although its been used in
hypermedia research [2] to describe similar operations in software.
Firstly, it is probably useful to annotate services as a shims, although
this is information that the user may not always want to see. A service
that maps between equivalent identifiers (GenBank to EMBL for example)
in one workflow might be considered a safe or "boring" operation [3],
with shim-like properties. However, the same service in a different
workflow constructed by a different user, might not be a considered a
shim, because the safeness of the operation depends on the GenBank
identifier the service takes as input. So it is probably a useful
annotation, and a useful concept in your ontology, but the user will not
always care wether a given service is a shim or not.
Secondly, one thing that characterises shims is the relation between the
input and the output. So, for example, a service that extracts the
protein sequence from a BLAST_report is a fairly boring shim, because
the relation between the input and the output is hasPart eg. a
BLAST_report hasPart protein_sequence. I personally think this relation
between input and output is one that will help distinguish the shim from
other services in the registry, and therefore aid retrieval. So
capturing this relation in the registry could be useful.
Finally, if you're using a description logic reasoner, an interesting
solution would be to describe the properties of shim services, and let
the reasoner infer which services are shims based on these properties.
This would save you some of the trouble of annotating shims in your
registry, and would give you a clear definition of *exactly* what you
mean when you say "shim", since the word has several different meanings....
Speaking of which, a shim [4] can also mean a transexual person: "she +
him = shim", according to wikipedia :)
Duncan
[1]
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-122/paper1.pdf
[2] http://eprints.ecs.soton.ac.uk/768/02/html/
[3] http://taverna.sourceforge.net/usermanual/docs.word.html#_Toc107043031
[4] http://en.wikipedia.org/wiki/Shim
--
Duncan Hull
http://www.cs.man.ac.uk/~hulld/
Phone: +44 (0) 161 275 0677
More information about the MOBY-dev
mailing list